ContentProvide

ContentProvide: 是android的四大组件之一。
*、新建类,继承contentProvider类,注册contentProvider
*、在onCreate方法中获得SQLiteDatabase的对象,关联数据库。
*、在对应方法里实现数据库的相关操作。
*、注册ContentProvider , authorities=”URL” exported=”true”
ContentResolver:
*、创建一个ContentResolver类,用getContentResolver得到。

 *、不同程序之间共享数据,访问数据。
  *、为数据存储访问提供一个统一接口
 *、使用ContentProvider提供的功能完成添加insert、删除delete、查询query、更新updata
  他有两个功能:*、向外共享数据的应用负责ContentProvider的实现,并用给出的URI作                 为标记
                *、获取其他应用共享的数据,通过ContentResolver,并指定URI来操作数据

系统内置了provider,为我们提供了获取数据的接口,可以使用ContentResolver来访问和操作数据,通过URL来相互识别。

*、url为统一资源标识。
 *、每个ContentProvider都拥有一个公共的URL,这个URL代表其共享的数据。

*、contentProvider的使用:调用系统使用ContentResolver
1、获取ContentProvider,
得到一个ContentResolve的实例
ContentResolver content=Context.getContextResolver();
2、对一个ContentProvider的实例进行操作:查询、添加、修改、删除
Cursor ContentResolver.query(uri,
projection查询那几列,
selection查询条件, selectionArgs补充, sortOrder排序条件);
eg:
//声明一个ContentResolver常亮,用于操作。
ContentResolver resolver = getContentResolver();
//查询得到的列名
String [] projection = {Profile._ID,Profile.DISPLAY_NAME};
//错做Resolver得到Cursor集合,类似数据库查询结果
Cursor cursor = resolver.query(Contact.CONTENT, projection, selection,
selectionArgs, sortOrder);

*、自定义ContentProvider:
自定义公共数据库、用于多个应用相互访问、

ContentProvider:为了实现不同应用之间实现数据交换,
当一个应用程序需要把自己的数据暴露给其他程序使用时,该应用可以通过提供
ContentProvider来实现,其他应用程序通过ContentResolver来操作他暴露的数据。

数据共享标准:
ContentProvider以一种Uri的形式来提供数据,其他应用使用ContentResolver根据
Uri去访问操作指定的数据。

开发步骤:
1、定义自己的ContentProvider类,继承Android的ContentProvider基类。
2、向AndroidManifest.xml文件中注册这个ContentProvider,就行注册activity
注册ContentProvider需要一个Uri,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章