我的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();
Uri uri = Uri.parse("content://cn.itcast.provider.personprovider/person");
//添加一条记录
ContentValuesvalues = new ContentValues();
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));
}
//把id为1的记录的name字段值更改新为liming
ContentValuesupdateValues =new ContentValues();
updateValues.put("name","liming");
UriupdateIdUri = ContentUris.withAppendedId(uri,2);
resolver.update(updateIdUri, updateValues,null, null);
//删除id为2的记录
UrideleteIdUri = ContentUris.withAppendedId(uri,2);
resolver.delete(deleteIdUri,null, null);
下载视频代码
相关推荐
此为ContentResolver与ContentProvider的使用Demo.
android 自定义 ContentProvider 以及 ContentResolver
ContentProvider和ContentResolver永远是相对的,本章主要是讲ContentResolver的使用,当然是在android系统提供ContentProvider的情况下。 ContentProvider与ContentResolver概念上的东西的就不讲了,主要讲一下...
简单实现数据库操作,能对外共享数据,ContentProvider和ContentResolver,实现数据对外共享
安卓程序间数据共享的实现,包含两个程序,共享资源的程序和读取资源的程序,共享资源的程序包含了SQLite数据库的使用。
Android中ContentResolver的使用说明.pdf 学习资料 复习资料 教学资源
ContentProvider使用简介里面的demo
使用ContentProvider开放数据库,其他应用可以通过ContentResolver来操作提供共享的数据库。
android中对数据操作包含有: file, sqlite3, Preferences, ContectResolver与ContentProvider前三种数据操作方式都只是针对本应用内数据,程序不能通过这三种方法去操作别的应用内的数据。 android中提供...
程序例子包含了2个独立的Android程序,其中一个负责提供数据并提供本地操作,另外一个可以跨进程访问提供者提供的数据。例子虽然简单,但是覆盖到了Content Provider里面的知识点,例如集成Content Provider,Uri的...
Android应用程序之间数据共享ContentResolver.pdf
Android中ContentProvider和ContentResolver详解 在Android中,我们的应用有的时候需要对外提供数据接口,可以有如下几种方法: 1)AIDL 2)Broadcast 3)ContentProvider。 使用AIDL需要我们编写AIDL接口以及实现...
利用contentprovider和ContentResolver获取手机联系人信息
利用contentprovider和contentresolver执行对数据库的增删改查操作,
Android开发实验---通讯录 实验报告 通讯录 姓名: 学号: 课程名称: 移动应用开发 所在学院: 信息科学与工程学院 专业班级: 计算机 任课教师: Android开发实验---通讯录全文共25页,当前为第1页。 Android开发...
ContentProvider与ContentResolver 与 SQLiteOpenHelper http://blog.csdn.net/i_do_can/article/details/50937380 http://blog.csdn.net/i_do_can/article/details/50937380
使用ContentResolver操作安卓通讯录的实践项目demo,包括增删改查的操作,做了一个简陋的欢迎界面
内容概要: ...能学到什么:ContentProvider、ContentResolver、CursorAdapter、Cursor、后台服务、前台服务、绑定服务、自定义广播、播放进度条、OnClickListener监听器 适用人群:Android开发初学者