WEB开发网
开发学院手机开发Android 开发 详解Android 开发中的Content Provider 阅读

详解Android 开发中的Content Provider

 2010-02-03 16:09:00 来源:WEB开发网   
核心提示:Provider需要实现一个名为_data的字段,_data字段列出了该文件在Android文件系统上的精确路径,详解Android 开发中的Content Provider(4),这个字段不仅是供客户端使用,而且也可以供ContentResolver使用,这里给出一种常用的格式:vnd.android.cursor.
Provider需要实现一个名为_data的字段,_data字段列出了该文件在Android文件系统上的精确路径。这个字段不仅是供客户端使用,而且也可以供ContentResolver使用。客户端可以调用ContentResolver.openOutputStream()方法来处理该 URI指向的文件资源,如果是ContentResolver本身的话,由于其持有的权限比客户端要高,所以它能直接访问该数据文件。

6. 声明public static String型的变量,用于指定要从游标处返回的数据列。

7. 查询返回一个Cursor类型的对象。所有执行写操作的方法如insert(), update() 以及delete()都将被监听。我们可以通过使用ContentResover().notifyChange()方法来通知监听器关于数据更新的信息。

8. 在AndroidMenifest.xml中使用标签来设置Content Provider。

9. 如果你要处理的数据类型是一种比较新的类型,你就必须先定义一个新的MIME类型,以供ContentProvider.geType(url)来返回。MIME类型有两种形式:一种是为指定的单个记录的,还有一种是为多条记录的。这里给出一种常用的格式:

vnd.android.cursor.item/vnd.yourcompanyname.contenttype (单个记录的MIME类型)

比如, 一个请求列车信息的URI如content://com.example.transportationprovider/trains/122 可能就会返回typevnd.android.cursor.item/vnd.example.rail这样一个MIME类型。

vnd.android.cursor.dir/vnd.yourcompanyname.contenttype (多个记录的MIME类型)

比如, 一个请求所有列车信息的URI如content://com.example.transportationprovider/trains 可能就会返回vnd.android.cursor.dir/vnd.example.rail这样一个MIME 类型。

下列代码将创建一个Content Provider,它仅仅是存储用户名称并显示所有的用户名称(使用 SQLLite数据库存储这些数据):

package com.wissen.testApp;

public class MyUsers {

public static final String AUTHORITY = “com.wissen.MyContentProvider”;

// BaseColumn类中已经包含了 _id字段

public static final class User implements BaseColumns {

public static final Uri CONTENT_URI = Uri.parse(”content://com.wissen.MyContentProvider”);

// 表数据列

public static final String USER_NAME = “USER_NAME”;

上一页  1 2 3 4 5 6 7  下一页

Tags:详解 Android 开发

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