contentProvider(一)
内容提供者。就按字面意思来理解 Android手机的内容,提供出来的工具
它是不同应用程序直接进行数据交换的标准API,当一个应用程序需要把自己的数据暴露出来给其他应用使用的时候,该应用程序
就可以通过提供contentProvider来实现:其他应用程序就可以通过ContentResolver来操作ContentProvider暴露出来的数据(抄的疯狂Android),内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,
它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据
的安全性。1、创建一PersonProvider继承ContentProvider,实现六个方法,增删改查以及onCreate和getType。(因篇幅限制,这里只贴出了具有代表性的几个方法)
public class PersonProvider extends ContentProvider {
private MyOpenHelper oh;
SQLiteDatabase db;
//内容提供者创建时调用
@Override
public boolean onCreate() {
oh = new MyOpenHelper(getContext());
db = oh.getWritableDatabase();
return false;
}
@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
Cursorcursor = db.query("person", projection, selection, selectionArgs, null, null, sortOrder, null);
return cursor;
}
@Override
public String getType(Uri uri) {
return null;
}
//此方法供其他应用调用,用于往people数据库里插数据
//values:由其他应用传入,用于封装要插入的数据
//uri:内容提供者的主机名,也就是地址
@Override
public Uri insert(Uri uri, ContentValues values) {
//使用uri匹配器匹配传入的uri
【contentProvider(一)】db.insert("person", null, values);
return uri;
}
2、 因为我们的内容提供者主要是在数据库中进行增删改查,所以我们再创建一个MyOpenHelper继承SQLiteOpenHelper,创建一个people.db
推荐阅读
- 一个人的旅行,三亚
- 一个小故事,我的思考。
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 开学第一天(下)
- 一个人的碎碎念
- 2018年11月19日|2018年11月19日 星期一 亲子日记第144篇
- 遇到一哭二闹三打滚的孩子,怎么办┃山伯教育
- 第326天
- Y房东的后半生14
- 奔向你的城市