今天继续讲Content Provider,会大致看一下内容提供者的概览介绍。另外,会通过一个表,来看一下内容提供者的数据到底是怎样存储在中央数据存储区的。
以下是android developer官方的讲解:
内容提供程序基础知识
内容提供程序管理对中央数据存储区的访问。提供程序是 Android 应用的一部分,通常提供自己的 UI 来使用数据。 但是,内容提供程序主要旨在供其他应用使用,这些应用使用提供程序客户端对象来访问提供程序。 提供程序与提供程序客户端共同提供一致的标准数据界面,该界面还可处理跨进程通信并保护数据访问的安全性。
本主题介绍了以下基础知识:
内容提供程序的工作方式。
用于从内容提供程序检索数据的 API。
用于在内容提供程序中插入、更新或删除数据的 API。
其他有助于使用提供程序的 API 功能。
概览
内容提供程序以一个或多个表(与在关系型数据库中找到的表类似)的形式将数据呈现给外部应用。 行表示提供程序收集的某种数据类型的实例,行中的每个列表示为实例收集的每条数据。
例如,Android 平台的内置提供程序之一是用户字典,它会存储用户想要保存的非标准字词的拼写。 表 1 描述了数据在此提供程序表中的显示情况:
表 1. 用户字典示例表格。
| 字词 | 应用id | 频率 | 语言区域 | _ID |
|---|---|---|---|---|
| mapreduce | user1 | 100 | en_US | 1 |
| precompiler | user14 | 200 | fr_FR | 2 |
| applet | user2 | 225 | fr_CA | 3 |
| const | user1 | 255 | pt_BR | 4 |
| int | user5 | 100 | en_UK | 5 |
在表 1 中,每行表示可能无法在标准词典中找到的字词实例。 每列表示该字词的某些数据,如该字词首次出现时的语言区域。 列标题是存储在提供程序中的列名称。 要引用行的语言区域,需要引用其 locale 列。对于此提供程序,_ID 列充当由提供程序自动维护的“主键”列。
注:提供程序无需具有主键,也无需将 _ID 用作其主键的列名称(如果存在主键)。 但是,如果您要将来自提供程序的数据与 ListView 绑定,则其中一个列名称必须是 _ID。 显示查询结果部分详细说明了此要求。
本文介绍了Android中的内容提供程序,包括其工作原理、如何通过API访问数据、如何进行数据操作等核心概念。此外还展示了用户字典提供程序的具体数据存储示例。
4245

被折叠的 条评论
为什么被折叠?



