android – 我应该使用内容提供商吗?

我正在阅读 android内容提供商的官方文档,我看到了这个:

Decide if you need a content provider.

You need to build a content
provider if you want to provide one or more of the following features:

  • You want to offer complex data or files to other applications.
  • You want to allow users to copy complex data from your app into other
    apps.
  • You want to provide custom search suggestions using the search
    framework.
  • You don’t need a provider to use an sqlite database if the
    use is entirely within your own application.

我正在开发一个应用程序,当位置通过IntentService更改时,该应用程序会同步背景数据.

我所看到的是,使用ContentProvider,您可以观察到数据发生变化时我真正想要的却没有用户注意到它.它在IntentService中发生变化,MainActivity观察到这些变化,当它被通知时,布局内容会发生变化

使用ContentProvider是一个好主意,尽管他们甚至没有提到这个?

谢谢

解决方法

就个人而言,我在过去的一年半中一直在我的所有项目中使用ContentProviders.它们提供了良好的,独立于数据库的数据抽象来访问您的数据.它们非常灵活,我甚至有一个游戏项目,其中一个URI指向SharedPreference,而所有其他URI都用于访问数据库表. ContentProviders还允许您使用已构建的框架基础结构,例如CursorLoaders.从接口和抽象类实现自己并不难,但它可能耗时且容易出错,只能利用已经尝试过并且经过测试的工作是一个很大的优势.

顺便说一句,我记得在2周前谷歌的一篇文章中同样的问题,Cyril Mottier给出了一个非常好的答案.你可以读它here.

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...