我们可以在一个应用程序中实现多少内容提供商?

时间:2012-05-04 15:40:08

标签: android android-contentprovider

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

  1. 一个Android应用中有很多内容提供商或只有一个内容提供商?
  2. 如何正确实现不同的内容提供程序类?
  3. 以下是我从开发指南中读到的内容:

      

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

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

4 个答案:

答案 0 :(得分:5)

您可以根据需要实施任意数量的文件here。要注册内容提供商,您需要在Android Manifest中添加相应的<provider>标记。

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

答案 1 :(得分:1)

您可以根据需要使用(提供和使用)每个应用程序的尽可能多的内容提供商。当然,他们需要不同的内容URI。

除了文档(您的链接)中列出的用途之外,您还可以将内容提供程序用于访问数据存储的其他目的。内容URI可以包含参数,因此您可以使用与Web服务类似的内容提供程序。

答案 2 :(得分:1)

答案 3 :(得分:1)

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

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

但拥有太多内容提供商确实会让您感到困惑而不是必需。 如果您的应用程序中有多个数据库,并且您希望与外部应用程序共享所有这些数据库,那么我认为拥有多个内容提供程序的唯一方案是。您可以在哪里为每个数据库使用单独的内容提供程序与外界共享。

希望它有所帮助。