您的位置:首页 > 移动开发 > Android开发

android基础之内容提供者使用

2012-12-05 11:08 645 查看
上一篇我们说了我内容提供者的创建。这篇我们主要说下内容提供中的使用方法。

要使用内容提供者,我们需要借助于内容提供者的一个工具类ContentResolver。ContentResolver里面的增删改查的方法就是调用内容提供中的方法。

创建ContentProvider中的增删改查的方法里面的参数。我们没有介绍,首先介绍下这些方法里里面的参数。

我们看上一篇的代码中,不难看出,在每个方法中,都有一个参数,那就是Uri。什么是Uri?

Uri分为三部分。用个例子来说明下。

content://com.51cto.blog.bingtianxuedi/person/1

content:// 是Android为我们提供访问内容提供者的scheme.是一种规定,不可修改。

com.51cto.blog.bingtianxuedi/ 我们c创建ContentProvider,在AndroidManifest.xml配置的authorities

person/1 路径,根据业务而定。假如我们查询的是数据库,就表示person表下的id为1的那条记录。假如我们查询的是xml文件下的person节点下的name节点,可写成person/name。

知道了是什么是uri下面的参数就很好理解了。

ContentValues是什么呢?

它就像一个Map集合,为我们提供了put方法和get方法,key存放的是字段名,value就是我们要插入或者修改的值。

//增
public Uri insert(Uri uri, ContentValues values)
//删
public int delete(Uri uri, String selection, String[] selectionArgs)
//selection 要查询条件的,相当于SQLite数据库查询语句中的where后面的内容.name = ?
//delete from person where name=?
//selectionArgs 就对应查询条件占位符的值。替代问号的值

//改
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs)
//查
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
String sortOrder)
//sortOrder 排序,对应sql语句后order by 后面的部分

知道了上面每个参数的含义,我们就可以使用内容提供者了,这要创建ContentResolver对象就可以操作内容提供者了。
ContentResolber可以通过Context.getContentResolver()得到。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: