android下断点下载的问题!!!!

llller 2011-11-30 02:12:24
做了个断点下载的demo;
大概思路是:
将下载进度保存到数据库中;
1.每次开始前先查询当前文件的下载进度,
2.有记录,就从断点处开始下载,
3.没有,就从头开始下载,
4.在下载过程中不断的向数据库更新当前进度
5.只要下载完成就删除记录,

断点下载手动调试是没问题了,
现在移植到android下,配合数据库就出现了问题,如图:


1.只要是完整下载,就没有问题
2.只要出现了断点的情况,再续传时写数据库就会出现这个问题,读没问题.
3.SQLiteOpenHelper经过验证为 "非空"

请问怎么解决???

...全文
132 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
llller 2011-11-30
  • 打赏
  • 举报
回复
源码98行: db = mContext.openOrCreateDatabase(mName, 0, mFactory);
找到问题了: mContext = null

原来在续传前,获取下载日志后,没有保存context....

谢谢各位了...
oyq_yangy 2011-11-30
  • 打赏
  • 举报
回复
这是两个错误。第一个是SqliteOpenHelper.getWrite...的null,但是被你catch了,然后打印了一把。所以db是空的,接着finally里db是null。。。
llller 2011-11-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 oyq_yangy 的回复:]
但是log里说null,你说不是null。要相信谁?
[/Quote]


public void doSql(String sql) {
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();
}
}


我现在不知道怎么办了...
oyq_yangy 2011-11-30
  • 打赏
  • 举报
回复
但是log里说null,你说不是null。要相信谁?
llller 2011-11-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 oyq_yangy 的回复:]

去看一下doSql那句谁是null,后面不是有文件和行号。。。
[/Quote]


public void doSql(String sql) {
try {
db = helper.getWritableDatabase();//这句报错,但是 helper != null
db.beginTransaction();
db.execSQL(sql);
db.setTransactionSuccessful();
}catch(Exception e){
e.printStackTrace();
} finally {
db.endTransaction();
db.close();
}
}
demonzym 2011-11-30
  • 打赏
  • 举报
回复
用insert XXX where XXX
oyq_yangy 2011-11-30
  • 打赏
  • 举报
回复
去看一下doSql那句谁是null,后面不是有文件和行号。。。
llller 2011-11-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 asssasharp 的回复:]

可能是并发的时候出的问题吧。上面写得是空指针啊。你还是看看怎么出现null吧。
[/Quote]

可是我没有用多线程...
asssasharp 2011-11-30
  • 打赏
  • 举报
回复
可能是并发的时候出的问题吧。上面写得是空指针啊。你还是看看怎么出现null吧。

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧