android数据共享之Content Provider(概念篇)
来源:互联网 发布:编写c语言的软件 编辑:程序博客网 时间:2024/06/04 18:59
1、什么是Content Provider:
Contentprovider机制:用于支持在多个应用中存储和读取数据,这也是android跨应用共享数据的唯一方式。比如音频、视频、图片和私人通讯录等,都需要在多个应用程序之间共享数据。使用Content Provider共享数据,好处是统一了数据访问方式(系统已经提供了这些主要数据类型的Content Provider,在android.provider包下面)。如果不需要,可以直接使用SQLiteDataBase数据库。
2、相关数据模型:
Content provider显示数据类似数据库表:
1、每个记录里有一个数值域,名为:_ID(类似数据库主键),定位指定记录。
2、查询返回的是Cursor对象(类似JDBC的ResultSet),通过Cursor指定的方法读取各个类型数据,当然应先知道数据类型。
3、每个content provider定义一个唯一的公开的URI,用于指定到它的数据集。一个content provider可以包含多个数据集(可以看作多张表),这样,就需要有多个URI与每个数据集对应。
3、URI
Uri代表了要操作的数据,Uri主要包含了两部分信息:
(1).需要操作的ContentProvider 。
(2).对ContentProvider中的什么数据进行操作。
一个Uri由以下几部分组成:
content://com.example.transportationprovider/trains/122
A B C D
A:标准前缀,表明这个uri指定一个content provider,此前缀不能被修改。
B:URI的authority,表明content provider。 对于第三方应用,应该是完全类名称(全小写形式),从而确保独一无二。其被声明在<provider>元素的authority属性
C:路径:可以用来表示我们要操作的数据.,决定何种数据被请求。
D:指定记录的ID。用于查找单行记录,类似主键。
对于路径的构建应根据业务而定,比如:
(1)要操作contact表中id为10的记录,可以构建这样的路径:/contact/10
(2)要操作contact表中id为10的记录的name字段, contact/10/name
(3)要操作contact表中的所有记录,可以构建这样的路径:/contact
4、如何共享数据:
使你的数据公开,有两种方式:
(1)创建自己的content provider(继承ContentProvider的子类)
(2)添加数据到已经存在的provider里(数据类型一致且有相应权限)
- android数据共享之Content Provider(概念篇)
- android数据共享之Content Provider(访问篇CRUD)
- Android:Content Provider数据共享
- Content Provider数据共享机制
- Android 中的应用组件之----Content Provider (跨进程私有数据共享)
- Android系统数据共享---Content Provider学习小结
- android的content provider之一:SharedPreferences && 进程数据共享方法
- android 学习笔记(8)content provider共享数据
- Android Content Provider的共享数据更新通知机制分析
- 【Android学习笔记】用于共享数据的Content Provider
- Android之Content provider
- android之Content Provider
- Content Provider实现跨程序数据共享
- content provider程序间数据共享
- Android数据存储之sharedpreferences与Content Provider
- android组件之Content Provider
- Android之Content Provider学习
- Android基础之Content Provider
- python socket编程
- 程序员的奋斗史(十四)——谈态度
- archlinux下arm-linux-gcc的交叉编译器的安装
- 结构对齐--__packed与#pragma pack
- eclipse 中出现:could not restore workbench layout 错误的解决方法
- android数据共享之Content Provider(概念篇)
- 分区表/分区索引
- Android GPS定位
- Google Protocol Buffers浅析(一)
- 王淮经验谈:我的码农原则
- 复习数据结构之队列
- 四核高级《ARM Cortex-A9》UT-Exynos4412开发板
- linux下强制卸载挂接点——umount+Fuser命令详解
- 想说很多话,但我口很渴