android 下载文件(多任务,断点下载.....)
16lz
2021-01-25
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
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- 从零开始--系统深入学习android(实践-让我们开始写代码-Android框
- Android(安卓)UI之ProgressBar
- Android一键加群实现
- android Ndk学习笔记01之Hello World!
- Android(安卓)中的 framebuffer
- Android再按一次完全退出程序及禁止返回上一个界面等
- 怎么在android实现通过浏览器点击链接打开apk
- eclipse工具使用技巧&关联Android源码