注册ContentProvider
主要类
ContentProvider
程序需要一个类继承ContentProvider
URI
content:// 域名//路径
路径规定了访问的业务. 比如可以定义成 /house/10 其实路径怎么解析是我们定义的.例如刚才定义的路径,可以解析成house表id=10的数据,这个要看起来有规律..
UriMatcher 解析URI 帮助类
addURI("域名","路径",int匹配码) 如果匹配成功则返回 int匹配码,支持通配符(#任意匹配) 同一UriMatcher可以添加多个URI匹配,次方法一般在内容提供者的static块中执行.
match(uri) 匹配uri,返回 addURI方法添加的匹配码
ContentUris 修改URI帮助类
例如:withAppendedId(uri,id) 像uri中添加id
1.继承ContentProvider
实现其 增删,在增删改方法内添加通知.
使用getContext().getContentResolver().notifyChange(uri,null);
2.在AndroidManfest.xml中配置ContentProvider
<provider android:name="provider类名" android:auauthorities="唯一域名URI" />
唯一域名
访问ContentProvider
getContext().getContentResolver() ;然后使用获得对象的增删改查方法,只要指定正确的uri的域名路径就能正确访问目标程序的ContentResolver
对内同提供者内容监听器,内容提供者需要在内容变化的时候使用getContext().getContentResolver().notifyChange(uri,null);方法
getContext().getContentResolver().registerContentObserver();