21 内容提供者1

(一)内容提供者简介
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代表的数据发生变化时,会触发该方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值