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

    推荐阅读