【contentprovider系列7】自定义contentprovider
来源:互联网 发布:淘宝上怎么收藏店铺 编辑:程序博客网 时间:2024/05/23 00:08
其实自定义provoder.只是在于db的一套增删改查和contentprovider之间的映射关系,这点搞清楚了就没问题了。此外,使用自定义的provider的话,需要注册清单文件(android四大组件都需要注册清单文件),还有注意设置属性expert。
一、自定义contentprovider为什么定义静态代码块
首先静态代码块的作用是,只执行一次,不管是new还是直接类名。 构造函数用于传递或者初始化,如果想要这个类的方法或者变量,必须new初始化。 静态代码块: 用于初始化一些操作,例如数据库连接、配置文件读取等。
二、自定义contentprovider,数据库不能关闭
Android ContentProvider增删改查都不可以close db
三、ContentProvider何时创建?
1、ContentProvider所在的Process启动了,ContentProvider就会在ActivityThread中启动。
2、从数据共享的角度出发,ContentProvider应该是Android在系统启动时就创建了,否则就谈不上数据共享了。这就要求在AndroidManifest.XML中使用元素明确定义。
四、UriMatch对象
UriMatch对象的作用是将URI匹配到对应的表(就数据库而言),其使用步骤如下:
通过new UriMatcher(UriMatcher.NO_MATCH); 实例化,常量NO_MATCH作为参数表示不匹配任何URI;
实例化后调用addURI方法注册URI,该方法有三个参数,分别需要传入URI字符串的authority部分、path部分以及自定义的整数code三者;
在其它地方调用match方法匹配相应的URI,需要传入Uri作为唯一的参数,返回上述自定义的code值。
至于其初始化的位置,如前所述,网上绝大多数示例都将其放入静态域中实例化。
五、参考
Android ContentProvider少了个close db的操作:http://blog.sina.com.cn/s/blog_68d72c9b01015k2a.html
自定义ContentProvider的一些细节探究:http://blog.csdn.net/sadfishsc/article/details/7419573
关于contentprovider最通俗的理解:http://blog.csdn.net/murphykwu/article/details/7953102
- 【contentprovider系列7】自定义contentprovider
- 自定义ContentProvider
- 自定义ContentProvider
- 自定义ContentProvider
- 自定义ContentProvider
- 自定义contentprovider
- 自定义ContentProvider
- 自定义contentProvider
- 自定义ContentProvider
- 自定义ContentProvider
- 自定义ContentProvider
- 自定义ContentProvider
- 自定义ContentProvider
- 自定义ContentProvider
- 自定义ContentProvider
- 自定义ContentProvider
- 自定义ContentProvider
- 自定义ContentProvider
- LVS学习笔记 3LVS-DR实验 初步试验
- Javascript学习
- 修改ubuntu系统的时间
- Freertos 互斥锁
- 【c++】实现运算符的重载
- 【contentprovider系列7】自定义contentprovider
- Retrofit的使用教程(一)
- Linux 脱机管理问题
- CopyOnWriteArrayList 源码分析
- YUV格式详解
- 《剑指Offer》面试题28:字符串的排列
- oc基础语法
- ibatis实现分页查询
- Sqlite全面学习(三)