WEB开发网
开发学院手机开发Android 开发 Android 应用程序之间数据共享—ContentResolver 阅读

Android 应用程序之间数据共享—ContentResolver

 2010-08-14 00:27:00 来源:WEB开发网   
核心提示:D:如果URI中包含,表示需要获取的记录的ID;如果没有ID,Android 应用程序之间数据共享—ContentResolver(2),就表示返回全部;由于URI通常比较长,而且有时候容易出错,例如:ContentResolver cr = getContentResolver();制作ContentResolver

D:如果URI中包含,表示需要获取的记录的ID;如果没有ID,就表示返回全部;

由于URI通常比较长,而且有时候容易出错,切难以理解。所以,在Android当中定义了一些辅助类,并且定义了一些常量来代替这些长字符串,例如:People.CONTENT_URI

ContentResolver 介绍说明

看完这些介绍,大家一定就明白了,ContentResolver是通过URI来查询ContentProvider中提供的数据。除了URI以外,还必须知道需要获取的数据段的名称,以及此数据段的数据类型。如果你需要获取一个特定的记录,你就必须知道当前记录的ID,也就是URI中D部分。

前面也提到了Content providers是以类似数据库中表的方式将数据暴露出去,那么ContentResolver也将采用类似数据库的操作来从Content providers中获取数据。现在简要介绍ContentResolver的主要接口,如下:

返回值 函数声明

final Uri insert(Uri url, ContentValues values)Inserts a row into a table at the given URL.

final int delete(Uri url, String where, String[] selectionArgs)Deletes row(s) specified by a content URI.

final Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)Query the given URI, returning a Cursor over the result set.

final int update(Uri uri, ContentValues values, String where, String[] selectionArgs)Update row(s) in a content URI.

看到这里,是否感觉与数据库的操作基本一样的?就是这样的,详细解析请参考Android SQLite解析篇中的说明,不在此详细说明。

最后一个问题:如何获取ContentResolver?调用getContentResolver (),例如:ContentResolver cr = getContentResolver();

制作ContentResolver实例

以上就完全介绍了如何获取、使用ContentResolver,启动Eclipes,制作一个完整的实例

打开showcontent.java,修改如下:

Java代码

package moandroid.showcontact;

import android.app.ListActivity;

import android.database.Cursor;

import android.os.Bundle;

import android.provider.Contacts.Phones;

import android.widget.ListAdapter;

Tags:Android 应用程序 之间

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