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

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

是我创建数据库的一个SQLiteOpenHelper类。用来首次运行时创建数据库。
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", null, 1);        }        /**         * 在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 + "]";     }}


其他代码请下载DEMO

DEMO地址:http://download.csdn.net/detail/tt5267621/3756089

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 从零开始--系统深入学习android(实践-让我们开始写代码-Android框
  3. Android(安卓)UI之ProgressBar
  4. Android一键加群实现
  5. android Ndk学习笔记01之Hello World!
  6. Android(安卓)中的 framebuffer
  7. Android再按一次完全退出程序及禁止返回上一个界面等
  8. 怎么在android实现通过浏览器点击链接打开apk
  9. eclipse工具使用技巧&关联Android源码

随机推荐

  1. Android:Material Design(二) Material主
  2. Android(安卓)SDK和最新ADT下载地址
  3. 关于android中的相对布局RelativeLayout
  4. 一些小效果(持续更新……)
  5. TextView文字加阴影效果
  6. android EditText中的inputType
  7. Android应用开发——系统自带样式Android
  8. android:single和android:maxLines的区别
  9. Android应用开发——系统自带样式Android
  10. Android(安卓)SDK Android(安卓)NDK 官方