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里(数据类型一致且有相应权限)


更多相关文章

  1. 排班表实现-----Android
  2. [置顶] android studio在svn中ignore的文件及文件夹
  3. 2013年4月19日--佳都新太Android笔试题+解答
  4. Android中的Handler:接受子线程发送的数据, 并用此数据配合主线
  5. Android之AlarmManager(全局定时器/闹钟)指定时长或以周期形式执
  6. 【Android】实现登录、注册、数据库操作(极复杂)
  7. Android(安卓)SQLite数据库增删改查操作的使用
  8. Android有四大组件
  9. 【Android】学习笔记(9)――SQLite简单使用

随机推荐

  1. Android(安卓)Studio的安装
  2. Android(安卓)Scroll分析(一)
  3. android context
  4. Android(安卓)Studio TV开发教程(一)处理电
  5. Android获取CPU使用率的几种方式
  6. Android中实用小知识
  7. Android占位符,Java占位符
  8. Android(安卓)TextView 单行文本的坑
  9. Android(安卓)Contacts(二)—— SMS 短信
  10. android启动--深入理解zygote