OPhone开发之下载
2010-10-19 20:56:09 来源:WEB开发网9. Downloads.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
10. values.put(Downloads.COLUMN_DESCRIPTION, Uri.parse(url).getHost());
11. values.put(Downloads.COLUMN_STOREPATH, Constant.STORE_DOWNLOAD);
顾名思义,Downloads.COLUMN_URI即为该文件的url,它完全可以像这样:http://192.168.2.50/share/Dell/Mini_3v/configuration.zip,还有一项比较重要的数据是Downloads.COLUMN_STOREPATH,这是下载存储路径,不设置的话默认是/sdcard/download。
另外insert方法返回的是一个Uri,它就是这条记录的主键键值。
当我们执行完insert后,我们会发现downloads表中多出一条数据:
复制到剪贴板 Java代码
1. sqlite> .mode line
2.
3. sqlite> select * from downloads;
4.
5. _id = 1
6.
7. uri = http://192.168.2.50/share/degrade.zip
8.
9. ...
10.
11. control = 0
12.
13. status = 192
14.
15. numfailed = 0
16.
17. lastmod = 946685297415
18.
19. ...
20. storepath = /data/dm/
21.
22. port =
这里需要留意一下粗体字的两列control与status,后面我们会讲到。
2、 暂停/恢复/重试
我们通过更新这条记录的control列来控制下载的状态。
1)暂停:
复制到剪贴板 Java代码
1. ContentValues values = new ContentValues();
2. values.put(Downloads.COLUMN_CONTROL, Downloads.CONTROL_PAUSE_BY_USER);
3. getContentResolver().update(contentUri, values, null, null);
这里contentUri就是刚才insert返回的Uri。values存放的是要更改的信息。我们仅仅把control这一列的值修改为Downloads.CONTROL_PAUSE_BY_USER即为10,就能暂停本次下载,执行上面的语句再查看一下数据库:
复制到剪贴板 Java代码
1. sqlite> select * from downloads;
2.
3. _id = 1
4.
5. uri = http://192.168.2.50/share/degrade.zip
更多精彩
赞助商链接