我的android 第25天 - 使用ContentResolver操作ContentProvider中的数据

当外部应用需要对ContentProvider中的数据进行添加、删除、修改和查询操作时,可以使用ContentResolver 类来完成,要获取ContentResolver 对象,可以使用Activity提供的getContentResolver()方法。 ContentResolver 类提供了与ContentProvider类相同签名的四个方法:

publicUri insert(Uri uri, ContentValuesvalues)

该方法用于往ContentProvider添加数据。

publicintdelete(Uri uri,String selection, String[] selectionArgs)

该方法用于从ContentProvider删除数据。

publicintupdate(Uri uri, ContentValuesvalues, String selection, String[] selectionArgs)

该方法用于更新ContentProvider中的数据。

publicCursor query(Uri uri,String[] projection, String selection, String[] selectionArgs,String sortOrder)

该方法用于从ContentProvider中获取数据。

这些方法的第一个参数为Uri,代表要操作的ContentProvider和对其中的什么数据进行操作,假设给定的是:Uri.parse(“content://cn.itcast.providers.personprovider/person/10”),那么将会对主机名为cn.itcast.providers.personprovider的ContentProvider进行操作,操作的数据为person表中id为10的记录。

使用ContentResolver对ContentProvider中的数据进行添加、删除、修改和查询操作:

ContentResolverresolver =getContentResolver();

Uriuri=Uri.parse("content://cn.itcast.provider.personprovider/person");

//添加一条记录

ContentValuesvalues = newContentValues();

values.put("name","itcast");

values.put("age",25);

resolver.insert(uri,values);

//获取person表中所有记录

Cursorcursor=resolver.query(uri,null, null, null, "personiddesc");

while(cursor.moveToNext()){

Log.i("ContentTest","personid="+cursor.getInt(0)+",name="+cursor.getString(1));

}

//id1的记录的name字段值更改新为liming

ContentValuesupdateValues=newContentValues();

updateValues.put("name","liming");

UriupdateIdUri=ContentUris.withAppendedId(uri,2);

resolver.update(updateIdUri,updateValues,null, null);

//删除id2的记录

UrideleteIdUri=ContentUris.withAppendedId(uri,2);

resolver.delete(deleteIdUri,null, null);

下载视频代码

更多相关文章

  1. SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
  2. 一句话锁定MySQL数据占用元凶
  3. Android音乐播放器读取歌词.lrc文件乱码问题解决方法
  4. Android(安卓)Jetpack - LiveData 介绍
  5. Android-Async-Http使用记录
  6. Android(安卓)使用SimpleAdapter创建图文并茂的ListView
  7. android 之Fragment相关
  8. Android下PM命令常见使用方法
  9. Android中关系型数据库 GreenDao 3.2.2的使用

随机推荐

  1. linux环境,Tomcat 指定运行时 jdk的版本
  2. Linux下安装MySql数据库
  3. scons 实用说明(一)
  4. 发福利咯~ 2015年1月份下载频道人气资源
  5. 移动硬盘安装Ubuntu系统(UEFI引导)的一些记
  6. linux下面重启apche 与mysql服务
  7. DDNS 的工作原理及其在 Linux 上的实现--
  8. Linux:/etc/hosts中的127.0.0.1作用
  9. 双机高可用、负载均衡、MySQL(读写分离、
  10. 我想开始学习Linux网络编程和android开发