Android 下载文件(支持多任务,支持断点.....)

在我们做Android开发的时候经常遇到的就是下载了,现在下载的方法有很多很多,那么怎么做到断点续传下载呢!很多人都头疼这个问题,如果我们没有很好的逻辑真不是很容易解决啊。我参考了一下前辈们的资料了整理了一个项目,能实现多个文件的同时下载。

是我创建数据库的一个SQLiteOpenHelper类。用来首次运行时创建数据库。

源码下载:

免费下载地址在

用户名与密码都是

具体下载目录在 /2012年资料/3月/4/Android 下载文件(持多任务,持断点.....) /

DBHelper.java

package com.icss.DBHelper;      import android.content.Context;   import android.database.sqlite.SQLiteDatabase;   import android.database.sqlite.SQLiteOpenHelper;      /**  * 建立一个数据库帮助类  */   public class DBHelper extends SQLiteOpenHelper {           // download.db-->数据库名           public DBHelper(Context context) {                   super(context, "download.db"null1);           }              /**           * 在download.db数据库下创建一个download_info表存储下载信息           */           @Override           public void onCreate(SQLiteDatabase db) {                   db.execSQL("create table download_info(_id integer PRIMARY KEY AUTOINCREMENT, thread_id integer, "                                   + "start_pos integer, end_pos integer, compelete_size integer,url char)");           }              @Override           public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {              }      }  

在下载时,我们有进度条来显示进度,怎么确定进度条的进度,大小和起始位置呢?这里我定义了一个LoadInfo类来记录下载器详细信息。代码如下:

LoadInfo:

package com.icss.entity;      public class LoadInfo {              public int fileSize;// 文件大小           private int complete;// 完成度           private String urlstring;// 下载器标识           public LoadInfo() {                   super();                   // TODO Auto-generated constructor stub           }           public LoadInfo(int fileSize, int complete, String urlstring) {                   super();                   this.fileSize = fileSize;                   this.complete = complete;                   this.urlstring = urlstring;           }           public int getFileSize() {                   return fileSize;           }           public void setFileSize(int fileSize) {                   this.fileSize = fileSize;           }           public int getComplete() {                   return complete;           }           public void setComplete(int complete) {                   this.complete = complete;           }           public String getUrlstring() {                   return urlstring;           }           public void setUrlstring(String urlstring) {                   this.urlstring = urlstring;           }           @Override               public String toString() {            return "LoadInfo [fileSize=" + fileSize + ", complete=" + complete                            + ", urlstring=" + urlstring + "]";        }         }  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wywjwz.html