您的位置:首页 > 移动开发 > Android开发

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

2011-11-04 20:28 375 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: