您的位置:首页 > 移动开发 > Android开发

android developer tiny share-201704014

2017-04-14 13:56 148 查看
创建内容提供程序

内容提供程序管理对中央数据存储区的访问。您将提供程序作为 Android 应用中的一个或多个类(连同清单文件中的元素)实现。 其中一个类会实现子类 ContentProvider,即您的提供程序与其他应用之间的接口。 尽管内容提供程序旨在向其他应用提供数据,但您的应用中必定有这样一些 Activity,它们允许用户查询和修改由提供程序管理的数据。

本主题的其余部分列出了开发内容提供程序的基本步骤和需要使用的 API。

着手开发前的准备工作
请在着手开发提供程序之前执行以下操作:

决定您是否需要内容提供程序。如果您想提供下列一项或多项功能,则需要开发内容提供程序:

  您想为其他应用提供复杂的数据或文件
  您想允许用户将复杂的数据从您的应用复制到其他应用中
  您想使用搜索框架提供自定义搜索建议  

如果您尚未完成此项操作,请阅读内容提供程序基础知识主题,了解有关提供程序的详情。
2.如果完全是在您自己的应用中使用,则不需要提供程序即可使用 SQLite 数据库。

接下来,请按照以下步骤开发您的提供程序:

1.为您的数据设计原始存储。内容提供程序以两种方式提供数据:

文件数据

通常存储在文件中的数据,如照片、音频或视频。 将文件存储在您的应用的私有空间内。 您的提供程序可以应其他应用发出的文件请求提供文件句柄。

“结构化”数据

通常存储在数据库、数组或类似结构中的数据。 以兼容行列表的形式存储数据。行表示实体,如人员或库存项目。 列表示实体的某项数据,如人员的姓名或商品的价格。 此类数据通常存储在 SQLite 数据库中,但您可以使用任何类型的持久存储。 如需了解有关 Android 系统中提供的存储类型的更多信息,请参阅设计数据存储部分。

2.定义 ContentProvider 类及其所需方法的具体实现。 此类是您的数据与 Android 系统其余部分之间的接口。 如需了解有关此类的详细信息,请参阅实现 ContentProvider 类部分。

3.定义提供程序的授权字符串、其内容 URI 以及列名称。如果您想让提供程序的应用处理 Intent,则还要定义 Intent 操作、Extra 数据以及标志。 此外,还要定义想要访问您的数据的应用必须具备的权限。 您应该考虑在一个单独的协定类中将所有这些值定义为常量;以后您可以将此类公开给其他开发者。 如需了解有关内容 URI 的详细信息,请参阅设计内容
URI 部分。 如需了解有关 Intent 的详细信息,请参阅
Intent 和数据访问部分。

4.添加其他可选部分,如示例数据或可以在提供程序与云数据之间同步数据的 AbstractThreadedSyncAdapter 实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息