这篇文章主要介绍一下,如果暂停了,或者网段了,然后有恢复了,接着之前的继续下载。
首先我们先添加数据库 greendao
步骤1:首先在项目中创建一个java的Modle。如图
步骤2:创建DbGenerate文件,
public class DbGenerate {
public static void main(String args[]) {
// 版本号 \ 包名
Schema schema = new Schema(1, "com.imooc.db");
Entity entity = schema.addEntity("DownloadEntity");
// 设置键名称
entity.addLongProperty("start_position");
entity.addLongProperty("end_position");
entity.addLongProperty("progress_position");
entity.addStringProperty("download_url");
entity.addIntProperty("thread_id");
// 设置主键
entity.addIdProperty().autoincrement();
try {
new DaoGenerator().generateAll(schema, "dbgenerate/src-gen");
} catch (Exception e) {
e.printStackTrace();
}
}
}
步骤3:然后创建 “src-gen”目录空文件夹
步骤4:重新编译项目,src-gen里面会出现4个文件,拷贝到项目中直接用就可以了。
步骤5:在使用的项目的gradle中添加,完成
compile ‘de.greenrobot:greendao-generator:2.1.0’
compile ‘de.greenrobot:greendao:2.1.0’
数据加进来完成之后,下面我们看在这个下载案例中如何使用。
**先创建DownloadHelper操作类 public class DownloadHelper {
private DaoMaster mMaster;
private DaoSession mSession;
private DownloadEntityDao mDao;
private static DownloadHelper sHelper = new DownloadHelper();
public static DownloadHelper getInstance() {
return sHelper;
}
private DownloadHelper() {
}
/**
* 初始化、创建数据库
* @param context
*/
public void init(Context context) {
// 数据库名
SQLiteDatabase db = new DaoMaster.DevOpenHelper(context, "download.db", null).getWritableDatabase();
mMaster = new DaoMaster(db);
mSession = mMaster.newSession();
mDao = mSession.getDownloadEntityDao();
}
/**
* 保存数据
* @param entity
*/
public void insert(DownloadEntity entity) {
mDao.insertOrReplace(entity);
}
/**
* 获取全部数据
* @param url
* @return
*/
public List<DownloadEntity> getAll(String url) {
return mDao.queryBuilder().wh