(一)内容提供者简介
1.内容提供者(ContentProvider)是Android系统四大组件之一,用于保存和检索数据,是 Android系统中不同应用程序之间共享数据的接口。
2.ContentProvider是不同应用程序之间进行数据交换的标准APl,以Uri形式对外提供数据,允许其他应用操作本应用数据。其他应用则使用ContentResolver,并根据 ContentProvider提供的Uri操作指定数据。
(二)创建一个内容提供者
1.定义一个类继承 android. content包下的ContentProvider类(抽象类)。子类需要重写它的 onCreate()、 delete()、 getType()、 insert()、 query()、update()这几个抽象方法。
2.ContentProvider是四大组件之一,必须要在清单文件中注册。
(三)uri简介
1.uri.parse(String str)方法是将字符串转化成Uri对象的。
2.为了解析uri对象,Android系统提供了一个辅助工具类UriMatcher用于匹配Uri。
(四)ContentResolver的基本用法
1.在 Android系统中, ContentResolver充当着桥梁的角色应用程序通过ContentProvider暴露自己的数据,通过 ContentResolver对应用程序暴露的数据进行操作。
2.通过 ContentResovler对象实现数据的操作代码如下:
Uri uri= Uri.parse(“content://cn.itcast.db. personprovider/person”);
ContentResolver resolver= context.getContentResolver();
Cursor cursor= resolver. query(uri, new String[] {“address”, “date”, “type”, “body”), null, null, null;
while(cursor. moveToNext()){
String address =cursor.getString(0);
}
cursor.close():
(五)什么是内容观察者?
1.内容观察者(ContentObserver)是用来观察指定ri所代表的数据。当ContentObserver观察到指定Uri代表的数据发生变化时,就会触发ContentObserveron的 Change()方法。此时在onChange方法里使用ContentResovler可以查询到变化的数据。
2.以下 ContentObserver的几个常用方法:
(1)void ContentObserver(Handler handler):
ContentObserver的派生类都需要调用该构造方法。参数可以是主线程 Handler(可以更新UI)也可以是任何 Handler对象。
(2)public void onChange(boolean selfChange):
当观察到的Uri代表的数据发生变化时,会触发该方法。
21 内容提供者1
最新推荐文章于 2023-07-19 08:30:00 发布