ContentProvider:
用于不同的应用程序之间实现“数据共享”功能。。
为了把自己程序的数据(一般是数据库)提供给其他应用程序,就通过ContentProvider提供的方法.
ContentResolver:
数据调用者,ContentProvider将数据发布出来,
通过ContentResolver对象结合Uri进行调用。通过ContentResolver对象可以调用ContentProvider的增删改查
Uri:
数据操作的地址,每一个ContentProvider发布数据时都会有唯一的地址。
创建自定义ContentProvider的步骤:
1.使用SQLite技术,创建好数据库和数据表
2.新建类继承ContentProvider
3.重写6个抽象方法
4.创建UriMatcher,定义Uri规则
5.在Manifest中注册provider
6.ContentResolver对ContentProvider中共享的数据进行增删改查操作
ContentProvider,ContentResolver,ContentObserver之间的关系?
ContentProvider:内容提供者,定义增删改查(方法)和数据库关联;
ContentResolver:内容解析者,一个app里边用于获取另一个app的数据(进行增删查改的具体数据操作)
ContentObserver:内容观察者,另外的一个app(可以是不同于上述两个app)可以监听数据改变的消息
1.getContentResolver.notifyChange(uri):在内容提供者里面的各个方法添加,这样就能发出消息
2.getContentResolver.registerContentOberver():进行监听注册,一个想观察内容变化的app,在观察者创建时就注册