做了个断点下载的demo;
大概思路是:
将下载进度保存到数据库中;
1.每次开始前先查询当前文件的下载进度,
2.有记录,就从断点处开始下载,
3.没有,就从头开始下载,
4.在下载过程中不断的向数据库更新当前进度
5.只要下载完成就删除记录,断点下载手动调试是没问题了,
现在移植到android下,配合数据库就出现了问题,如图:
1.只要是完整下载,就没有问题
2.只要出现了断点的情况,再续传时写数据库就会出现这个问题,读没问题.
3.SQLiteOpenHelper经过验证为 "非空"请问怎么解决???
大概思路是:
将下载进度保存到数据库中;
1.每次开始前先查询当前文件的下载进度,
2.有记录,就从断点处开始下载,
3.没有,就从头开始下载,
4.在下载过程中不断的向数据库更新当前进度
5.只要下载完成就删除记录,断点下载手动调试是没问题了,
现在移植到android下,配合数据库就出现了问题,如图:
1.只要是完整下载,就没有问题
2.只要出现了断点的情况,再续传时写数据库就会出现这个问题,读没问题.
3.SQLiteOpenHelper经过验证为 "非空"请问怎么解决???
try {
db = helper.getWritableDatabase();//这句报错,但是 helper != null
db.beginTransaction();
db.execSQL(sql);
db.setTransactionSuccessful();
}catch(Exception e){
e.printStackTrace();
} finally {
db.endTransaction();
db.close();
}
}
try {
System.out.println(helper == null?"helper = null":"helper = not null");
db = helper.getWritableDatabase();
db.beginTransaction();
db.execSQL(sql);
db.setTransactionSuccessful();
}catch(Exception e){
e.printStackTrace();
} finally {
db.endTransaction();
db.close();
}
}
我现在不知道怎么办了...
找到问题了: mContext = null原来在续传前,获取下载日志后,没有保存context....谢谢各位了...