第一行代码学习笔记,第七章 内容提供者
2015-05-13 10:42
183 查看
一、内容提供者(Content Provider)用法:
1,使用现有的内容提供者来读取和操作相应程序中的数据
2,创建自己的内容提供者给我们程序的数据提供外部访问接口
1.1 使用ContentResolver类访问其他程序中的数据
1)通过Context中的getContentResolver()方法获取ContentResolver的实例
ContentResolver contentResolver = Context.getContentResolver();
2)使用ContentResolver类提供的insert() update() delete() query()来进行数据的CRUD操作
添加数据:将数据组装到ContentValues中,然后调用ContentResolver的insert()方法,将Uri和ContentResolver作为参数传入
ContentValues values = new ContentValues();
values.put("column1","text");
values.put("column2", 1);
getContentResolver().insert(uri, values);
更新数据:
ContentValues values = new ContentValues();
values.put("column1", "");
getContentResolver().update(uri, values, "column1 = ? and column2 = ?", new String [] {"text", "1"});
删除数据:
getContentResolver().delete(uri, "column2 = ?", new String[] {"1"});
查找数据:
Cursor cursor = getContentResolver().query(uri, projection , selection, selectionArgs, sortOrder);
uri:内容Uri 对应的Sql语句的from table_name
projection: select column1, column 2 指定查找的列名
selection: where column = value 指定where的约束条件
selectionArgs:为where中的占位符提供具体的值
orderBy order by column1 ,column2 指定结果排列方式
二、创建内容提供器
新建一个类去继承ContentProvider并重写其中的六个方法
public class MyProvider extends ContentProvider {
@override
//初始化内容提供器的时候调用。通常在这里完成对数据库的创建和升级等操作
public boolean onCreate(){
return false;
}
@override
//从内容提供器中查询数据。uri确定哪张表,projection确定哪些列,selection selectionArgs确定哪些行,sortOrder用于对结果进行排列
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
return null;
}
@override
向内容提供者中添加一条数据
public Uri insert(Uri uri, ContentValues values) {
return null;
}
@override
//更新已有数据
public int update(Uri uri,ContentValues values, String selection, String[] selectionArgs){
return 0;
}
@override
//删除数据
public int delete(Uri uri, String selection, String[] selectionArgs) {
return 0;
}
@override
//根据传入的URI返回相应的MIME类型
public String getType(Uri uri) {
return null;
}
}
1,使用现有的内容提供者来读取和操作相应程序中的数据
2,创建自己的内容提供者给我们程序的数据提供外部访问接口
1.1 使用ContentResolver类访问其他程序中的数据
1)通过Context中的getContentResolver()方法获取ContentResolver的实例
ContentResolver contentResolver = Context.getContentResolver();
2)使用ContentResolver类提供的insert() update() delete() query()来进行数据的CRUD操作
添加数据:将数据组装到ContentValues中,然后调用ContentResolver的insert()方法,将Uri和ContentResolver作为参数传入
ContentValues values = new ContentValues();
values.put("column1","text");
values.put("column2", 1);
getContentResolver().insert(uri, values);
更新数据:
ContentValues values = new ContentValues();
values.put("column1", "");
getContentResolver().update(uri, values, "column1 = ? and column2 = ?", new String [] {"text", "1"});
删除数据:
getContentResolver().delete(uri, "column2 = ?", new String[] {"1"});
查找数据:
Cursor cursor = getContentResolver().query(uri, projection , selection, selectionArgs, sortOrder);
uri:内容Uri 对应的Sql语句的from table_name
projection: select column1, column 2 指定查找的列名
selection: where column = value 指定where的约束条件
selectionArgs:为where中的占位符提供具体的值
orderBy order by column1 ,column2 指定结果排列方式
二、创建内容提供器
新建一个类去继承ContentProvider并重写其中的六个方法
public class MyProvider extends ContentProvider {
@override
//初始化内容提供器的时候调用。通常在这里完成对数据库的创建和升级等操作
public boolean onCreate(){
return false;
}
@override
//从内容提供器中查询数据。uri确定哪张表,projection确定哪些列,selection selectionArgs确定哪些行,sortOrder用于对结果进行排列
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
return null;
}
@override
向内容提供者中添加一条数据
public Uri insert(Uri uri, ContentValues values) {
return null;
}
@override
//更新已有数据
public int update(Uri uri,ContentValues values, String selection, String[] selectionArgs){
return 0;
}
@override
//删除数据
public int delete(Uri uri, String selection, String[] selectionArgs) {
return 0;
}
@override
//根据传入的URI返回相应的MIME类型
public String getType(Uri uri) {
return null;
}
}
相关文章推荐
- 第二行代码学习笔记——第七章:跨程序共享数据——探究内容提供器
- Android第一行代码学习笔记五----内容提供器
- 第一行代码笔记,第七章-----探究内容提供者
- Android第一行代码学习笔记
- 学习笔记(九)内容提供器
- Nginx学习笔记——提供静态内容
- 第一行代码学习笔记---写在前面的话
- Android第一行代码学习笔记九----高级技巧
- 第一行代码学习笔记第二章——探究活动
- Android项目下目录分析(Android第一行代码学习笔记3)
- <第一行代码>学习笔记1.09
- 第一行代码 学习笔记 活动
- 第一行代码学习笔记---过时的通知写法
- [Android][第一行代码][第 7 章 内容提供器]
- 第一行代码学习笔记---安卓学习路线图
- Android第一行代码学习笔记六----手机多媒体
- 第一行代码-第7章 内容提供器
- 第二行代码学习笔记——第一章:开始启程——你的第一行Android代码
- 第一行代码学习笔记 ——准备工作(一)
- 第一行代码 学习笔记 控件