3

我已经阅读了 Android 开发指南并注意到我们可以为内容提供者实现不同的类。所以,

  1. 一个 Android 应用程序中有多个内容提供者还是只有一个内容提供者?
  2. 如何正确实现这样的不同内容提供者类?

这是我从开发指南中读到的内容:

您将提供程序实现为 Android 应用程序中的一个或多个类

http://developer.android.com/guide/topics/providers/content-provider-creating.html

4

4 回答 4

5

您可以根据需要实现任意数量,正如您从此处的文档中看到的那样。要注册内容提供者,您需要<provider>在 Android Manifest 中添加其对应的标签。

但是,在大多数情况下,您不需要多个内容提供者。通常一个就足够了,因为它可以处理多个表。如果您希望您的应用程序提供对 2 个以上独立数据实体的公共访问权限,那么您应该只需要一个以上的实体。

于 2012-05-04T15:55:24.537 回答
1
  1. 您可以根据需要创建任意数量的内容提供者。但是你需要他们吗?
  2. 您要实现哪些内容提供程序类?如果您很好地阅读了该页面,您应该已经看到它包含指向两个页面的链接:
    1. http://developer.android.com/guide/topics/providers/content-provider-basics.html - 内容提供者基础
    2. http://developer.android.com/guide/topics/providers/content-provider-creating.html#ContentProvider - 实现 ContentProvider 类

我建议你先阅读这些页面。谷歌正在提供更多关于内容提供者、教程和示例的信息:

于 2012-05-04T15:55:05.620 回答
1

您可以根据需要在每个应用程序中使用(提供和使用)任意数量的内容提供者。当然,它们需要不同的内容 URI。

除了文档(您的链接)中概述的用途外,您还可以将内容提供者用于访问数据存储的其他目的。内容 URI 可以有参数,因此您可以像使用 Web 服务一样使用内容提供者。

于 2012-05-04T15:53:01.183 回答
1

没有规定您必须为每个应用程序仅实现一个内容提供程序。如果您的项目需要,那么您可以这样做。

如果要在应用程序包中实现多个内容提供者,请确保每个内容提供者的权限部分是唯一的,以便将传入的数据请求正确路由到每个内容提供者。

但是拥有太多的内容提供者确实会让你感到困惑并且不是必需的。我看到有多个内容提供者的唯一情况是,如果您的应用程序中有多个数据库,并且您希望与外部应用程序共享所有这些数据库。您可以在其中为每个数据库使用单独的内容提供程序,以便与外界共享。

希望能帮助到你。

于 2013-12-03T12:31:46.180 回答