【问题标题】:Content Provider commons内容提供者公共
【发布时间】:2011-12-06 08:48:08
【问题描述】:

关于 Content Provider 机制的几个有趣的问题

  • 当数据不打算在应用程序之间共享时,我们是否应该使用 Content Provider?

内容提供者存储和检索数据并使其可供所有应用程序访问。它们是跨应用程序共享数据的唯一方式;没有所有 Android 软件包都可以访问的公共存储区域。
http://developer.android.com/guide/topics/providers/content-providers.html

  • 当有多个数据表连接在一起时,我们应该为每种数据类型创建一个 Provider,还是我们可以为所有数据类型使用一个 Provider?

  • 从远程服务器镜像数据时,是否有任何与Content Provider相关的通用更新机制,或者我们必须实现某种SyncAdapter?

【问题讨论】:

    标签: android android-contentprovider


    【解决方案1】:

    当数据不打算在应用程序之间共享时,我们应该使用 Content Provider 吗?

    Content Provider 是在应用程序之间或应用程序内的活动之间共享数据的好功能之一。 如果您想为您的应用程序使用内容提供程序并且不想共享,那么您可以使用内容提供程序,如果您使用内容提供程序,这是非常好的抽象。

    当有多个数据表连接在一起时,我们应该为 每种数据类型,还是我们可以为所有数据类型使用单个提供程序?

    对于不同的表,我认为你必须创建不同的内容提供者。在 Android 中,不同的表和数据库有不同的内容提供者。所以你最好创建 为所有表格提供单独的内容提供程序。

    【讨论】:

      【解决方案2】:

      当数据不打算在应用程序之间共享时,我们应该使用 Content Provider 吗?

      Content Provider 是 Android 提供的优秀功能之一。 使用它在应用程序之间或应用程序内的活动之间共享数据有助于使代码更清晰和相当抽象。

      当有多个数据表连接在一起时,我们应该为每种数据类型创建一个 Provider,还是我们可以为所有数据类型使用一个 Provider?

      所有内容提供程序都实现了一个通用接口,用于查询提供程序并返回结果,以及添加、更改和删除数据。处理多个数据表时可以使用单个提供程序。使用不同的内容提供者会产生不必要的开销。

      【讨论】:

      • 关于您的第一个答案,请阅读我的要求。我不想在应用程序之间共享数据。跨活动访问数据真的有用吗?
      • 在活动之间共享数据完全取决于需求。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-28
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多