内容提供者的基本使用

来源:互联网 发布:淘宝女装拍照动作 编辑:程序博客网 时间:2024/04/28 12:30

内容提供者ContentProvider的使用:

1、需要暴露数据的应用程序中要写一个类来继承ContentProvider类,重写里面的增删改查来调用应用程序里面的数据库。
2、这个类中需要来匹配访问本内容的程序传递过来的Uri来判断是否符合要求,利用new UriMatcher(设置如果没有匹配返回的默认值),对象调用add(authorities:清单文件中的主机名,口令,匹配成功后的返回值)来添加要相匹配的uri对象,调用match(uri对象);来判断是否匹配成功

example:

UriMatch urimatch = new Urimatch(UriMatch.NO_MATCH);static{     urimatch.addUri("com.example.contentprovider.GIVEITOUT" ,                    "xiaojidunmogu" , SUCESS);     }urimatch.match();

3、在每个增删改查的方法中都进行匹配判断,再执行数据库操作,
调用方法unbind解除绑定后,中间人的服务方法调用还能用,因为服务虽然被destroy了,但还没被回收。

远程服务的程序清单配置中的Intent-filter 中不用添加 category节点,(添加也不会报错,可以运行)


PS:

继承ContentProvider类重写Query方法的时候,需要返回Cursor的对象值,在返回对象之前不能关闭cursor或者SQliteDatabase的对象;否则报出异常08-11 13:26:00.868: E/DatabaseUtils(17370): java.lang.IllegalStateException: attempt to re-open an already-closed object:

0 0