OPhone开发之下载
2010-10-19 20:56:09 来源:WEB开发网复制到剪贴板 Java代码
1. sqlite> select control,status from downloads;
2.
3. control = 0
4.
5. status = 192
6.
7. sqlite>
又变成下载进行中的状态的了。
3、 清除
下载的过程中我们希望取消本次操作,怎么办?也很简单:
复制到剪贴板 Java代码
1. getContentResolver().delete(contentUri, null, null);
请注意,取消操作仅仅是把这条下载记录从表中删除,而不会删除已经下载的文件。查看这个表:
复制到剪贴板 Java代码
1. sqlite> select count(*) from downloads;
2.
3. count(*) = 0
4.
5. sqlite>
下载目录中的数据没有被删除:
复制到剪贴板 Java代码
1. # pwd
2.
3. /data/dm
4.
5. # ls
6.
7. degrade.zip
8.
9. #
4、 监听
如果想在下载的不同状态时做一些处理,就需要注册一个ContentObserver来监听下载的状态。
复制到剪贴板 Java代码
1. DownloadObserver observer = new DownloadObserver();
2. getContentResolver().registerContentObserver(contentUri, true, observer);
3. 仍然,contentUri是我们下载对应的这条记录,而DownloadObserver继承于ContentObserver,我们用它覆盖 ContentObserver的onChange方法,加上自己的逻辑,比如下载完成后弹出一个对话框通知用户等等。
4. private class DownloadObserver extends ContentObserver {
5. public DownloadObserver() {
6. super(new Handler());
7. }
8.
9. @Override
10. public void onChange(boolean flag) {
11. // do something
12. }
13. }
5、 其他一些下载方法
除了利用上述DownloadManager下载文件外,还有一些其他的方法同样能完成下载功能。
比如利用Java.NET.URL与java.net.URLConnection:
复制到剪贴板 Java代码
更多精彩
赞助商链接