WEB开发网
开发学院手机开发Ophone 开发 OPhone开发之下载 阅读

OPhone开发之下载

 2010-10-19 20:56:09 来源:WEB开发网   
核心提示:本文主要介绍在OPhone中如何实现文件的下载、暂停、恢复、重试以及清除,我们仅仅使用ContentResolver的insert、query、update、delete就可以完成上述功能,OPhone开发之下载,对于上层的开发者来说,下载的启动、进行、完成、出错仅仅体现在数据库中对应下载记录的这一行数据的变化,我们继

本文主要介绍在OPhone中如何实现文件的下载、暂停、恢复、重试以及清除。我们仅仅使用ContentResolver的insert、query、update、delete就可以完成上述功能。对于上层的开发者来说,下载的启动、进行、完成、出错仅仅体现在数据库中对应下载记录的这一行数据的变化。下面我们分别看一下。

1、 下载

在OPhone中要下载一个文件,实际上就是添加一条记录到数据库表中。这就需要提供被添加的表名以及这条记录的数据,如下:

复制到剪贴板 Java代码

1. Uri contentUri = getContentResolver().insert(

2. Uri.parse("content://downloads/download"), values);

这里,Uri.parse("content://downloads/download")就是对应的数据库表,它实际的位置在

什么地方呢,让我们看看:

复制到剪贴板 Java代码

1. .# adb shell

2.

3. # cd /data/data/com.android.providers.downloads/databases

4.

5. # ls

6.

7. downloads.db

8.

9. # sqlite3 downloads.db

10.

11. SQLite version 3.5.9

12.

13. Enter ".help" for instructions

14.

15. sqlite> .tables

16.

17. android_metadata downloads

18.

19. sqlite>

如上黑体字,downloads这个表对外的接口就是这个uri,稍后我们会在不同的状态时看看表里数据有什么变化。

我们继续看第二个参数,values是一个ContentValues对象,这里面存放着我们本次下载的信息也就是downloads表中该行的输入数据。

复制到剪贴板 Java代码

1. ContentValues values = new ContentValues();

2. values.put(Downloads.COLUMN_TITLE, filename);

3. values.put(Downloads.COLUMN_URI, url);

4. values.put(Downloads.COLUMN_FILE_NAME_HINT, filename);

5. values.put(Downloads.COLUMN_NOTIFICATION_PACKAGE, getPackageName());

6. values.put(Downloads.COLUMN_NOTIFICATION_CLASS,

7. TestDownload.DownloadReceiver.class.getName());

8. values.put(Downloads.COLUMN_VISIBILITY,

1 2 3 4 5 6  下一页

Tags:OPhone 开发 下载

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接