【问题标题】:What is advantage of using Content Provider over sqlite database in android?在 android 中使用 Content Provider 而不是 sqlite 数据库有什么优势?
【发布时间】:2016-07-25 09:28:35
【问题描述】:

我读到内容提供者是为了与其他应用程序共享数据。

在我的应用程序中,我没有使用内容提供程序,因为我不需要与其他应用程序共享我的数据。所以我单独使用了sqlite数据库。对于底层数据集更改,我使用 loadermanager 和 forceload 内容观察器进行即时加载。

这是一种不好的做法吗?所有应用程序都使用内容提供程序吗?此外,我将开发新的应用程序,并且我将使用同步适配器,我应该采用与以前相同的方法还是需要使用内容提供程序?(请记住:在这种情况下,我也不想与其他应用共享我的数据)

【问题讨论】:

  • 不可读。不会造句吗?段落?首都?点?

标签: android sqlite android-contentprovider android-syncadapter


【解决方案1】:

如果您不想与其他应用程序共享数据,则内容提供程序并不总是必要的,但除此之外,内容提供程序很有用,因为现在您不需要使用自己的加载程序。除此之外,它还有很多优点,您可以从here 阅读不同人对此的看法。

但在我看来,如果您正在制作的应用程序可能会随着时间的推移而发展,那么您应该使用 Content Provider,因为它会帮助您在那一刻完成工作。

【讨论】:

    【解决方案2】:

    documentation 说:

    如果您不打算与其他应用程序共享您的数据,则无需开发自己的提供程序。但是,您确实需要自己的提供程序在您自己的应用程序中提供自定义搜索建议。

    默认的游标加载器实现需要一个内容提供者是一个设计错误。但是,您可以轻松写your own cursor loader that does not need a content provider

    同步适配器需要内容提供程序是一个设计错误。但是,即使是 Android 文档本身也显示了如何编写 a stub content provider that does not actually do anything

    【讨论】:

      猜你喜欢
      • 2013-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-12
      • 2011-09-23
      • 2019-10-11
      • 2012-10-03
      • 2013-09-13
      相关资源
      最近更新 更多