设为首页 加入收藏

TOP

Android开发:为应用程序自定义ContentProvider对象以共享数据
2014-11-24 13:00:17 来源: 作者: 【 】 浏览:0
Tags:Android 开发 应用程序 定义 ContentProvider 对象 共享 数据

涉及的主要内容:1) 创建ContentProvider所需的步骤 2)学习官方实例代码(Note Pad)



1. 如何为自己的应用程序自定义ContentProvider


首先,我们得有数据。所以,需要创建一个SQLite数据库来存储数据。而为了访问数据库,我们需要提供访问数据库的各种接口,如创建,打开,升级等


其次,创建一个类,继承ContentProvider类,并实现其中访问数据的所有方法,包括:1)query():查询 2) insert():插入 3)update():插入 4)delete():删除 5)getType():获得类型 6)onCreate():创建时调用。


在实际的写代码过程中,目前只能好好研究developer.android.com上面的相关实例代码,学习Google提供的良好规范的代码:


http://developer.android.com/resources/samples/NotePad/src/com/example/android/notepad/index.html


在这个Note pad的例子中,Notepad.java和NotePadProvider.java两个文件是与创建ContentProvider相关的两个文件。其中Notepad.java类定义了用于可以访问的ContentProvider的常量,之所以创建这个文件,我觉得是优化代码架构而把常量写在同一个类中方便调用和访问。而NotePadProvider则主要涉及数据的相关操作,包括数据库的创建,连接以及继承实现ContenProvider类的6个方法。在阅读这部分代码时,对我来说最大的苦难是需要很好地理解URI的原理,只有这样才能看懂Google提供的代码的结构。关于URI的理解请参考官方文档:


http://developer.android.com/guide/topics/providers/content-providers.html#creating 中最后部分:Content URI Summary。


令人欣慰的是,Google提供的实例代码有详细的注释,这样方便了我们去理解和学习。


2. 现在以备忘录程序为例,来实现以上各个部分。


注:假设备忘录程序中只有一张数据表,叫做Memo, 表中有两个字段: _ID 和 MemoContent。


2.1 参考Notepad.java 创建 MemoContract.java 类,定义各种 主要的URI和数据表字段常量。之所以定义这个类,可以参考下面关于该类的注释




2.2 参考NotePadProvider.java创建了MemoProvider类,该类提供了访问数据的主要接口,并继承实现了ContenProvider的query()方法,其它方法类似。详细代码如下:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux 可移植性(软件可移植) 下一篇Android开发中Bundle用法 包裹数据

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·python数据分析岗的 (2025-12-25 10:02:21)
·python做数据分析需 (2025-12-25 10:02:19)
·成为一个优秀的pytho (2025-12-25 10:02:16)
·Java后端面试实习自 (2025-12-25 09:24:21)
·Java LTS版本有哪些 (2025-12-25 09:24:18)