- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【Android开发API】应用的组成部分-创建一个内容提供器.pdf
eoe 移动开发者社区 /
原文链接:
/guide/topics/providers/content-provider-creating.h
tml
Content Provider管理中央存储库的数据的访问, 你在Android程序中实现一个或者多个P
rovider, 连同清单文件中的元素. 其中一个类实现了ContentProvider子类, 这个子类是
你的Provider和其他程序之间的接口.尽管Content Provider意味着让数据对其他程序可
见, 当然, 你也可以在你的程序里, 让用户查询和修改由Provider管理的数据.
这个主题的其他部分是创建Content Provider的基本步骤以及一些API的使用.
Before You Start Building(开始创建之前)
在你开始创建一个Provider之前, 做如下:
1.确定你需要一个Content Provider. 如果你需要提供一个或多个以下特征, 虚拟需要创
建Content Provider:
你希望向其他程序提供复杂的数据或者文件
你希望用户从你的程序复制复杂数据到其他程序
你希望提供用有哪些信誉好的足球投注网站引擎框架提供自定义有哪些信誉好的足球投注网站提示
:如果用途完全只在你的程序内部, 你就不需要Provider去用SQLite数据库.
2.如果你还没有准备好, 阅读 Content Provider Basics(Content Provider基础)学习更
多关于Provider的知识
接下来, 遵循以下步骤来构建你的Provider:
1 Design the raw storage for your data. A content provider offers data in two
ways:
文件数据
数据通常装入文件, 诸如图片, 音频, 或者视频. 将文件存储在你的私人空间. 作为其他
程序请求你的文件的响应, 你的Provider提供一个文件的handle.
格式化数据
数据通常放入数据库, 数组, 或者类似结构. 将数据存储在一个表格,匹配表的行和列。一
行表示一个实体, 如一个人或者一个清单条目. 一列表示实体的一些数据, 如人的名字,
或者条目的价格. 储存这种数据的常见方式是用SQLite 数据库, 但你可以使用任何类型
的持久性存储.
2.定义ContentProvider类的具体实现及其所需的方法。这个类是你的数据和Android系统
的其余部分之间的接口。对于这个类的详细信息,请参阅 Implementing the ContentProv
ider Class 的部分。
3.定义Provider的授权字符串,其内容的URI,和列名。如果你想Provider的程序处理的
Intent,也要定义Intent行动,额外的数据,和标志。还可以定义您将需要的应用程序要
eoe 移动开发者社区 /
访问数据的权限。你应该考虑将所有这些值作为一个单独的contract类中的常量定义; 之
后,你将这个类公开给其他开发者。有关URI的更多信息,请参阅部分设计内容的URI。欲
了解更多有关意图的信息,请参阅 Intents and Data Access 。
4.添加其他可选件,如样本数据或AbstractThreadedSyncAdapter的实现, 能实现Provide
r和云端数据的同步
Designing Data Storage(设计数据存储)
Content Provider是用结构化格式保存的数据接口。 在你创建接口之前, 你必须确定如
何存储数据。你可以将数据储存成任何形式, 然后设计接口在必要时读写数据。
这是一些Android中的一些数据存储技术:
Android系统提供SQLite数据库的API,用于Android自己的Provider存储面向表结构的
数据。SQLiteOpenHelper类是用来访问数据库的基类。
记住, 你不必用一个数据库去实现你的存储库。 一个Provider外在表现为一组表格,
就像关系型数据库, 但是这个并不是Provider内部实现的必要部分。
对于存储文件数据,Android有多样的面向文件的APIs,要学习更多关于文件存储的信息,
参阅DataStorage(数据存储)主题。 如果你设计的Provider 提供媒体相关的数据, 如
音频和视频, 你可以让Provider结合表数据结构数据和文件数据。
对于网络型数据, 用和的类。 你
文档评论(0)