Android中Shared Preferences和Content Providers的区别

8
我知道Shared preferences和Intents的一些内容,但我想了解在Android中Shared preferences和Content Providers是什么?以及Intents、Shared preferences和Content providers之间的基本区别是什么
请对此进行解释。

3
你应该先阅读一些文档,如果对某些事情有具体的疑问再提出来。 - Maggie
1
是的,我已经阅读了它,但我感到困惑,所以我问了,请帮我澄清这个问题。 - Shruti
2个回答

14

共享首选项是您可以存储应用程序的机密信息的位置,就像在浏览器中设置 cookie 一样,这可以用于登录凭据和其他内容。

而内容提供程序则存储和检索数据,并使其可供其他应用程序使用。例如,假设您想访问 Android 手机中可用的联系人,则可以通过内容提供程序访问它们。


什么是“区分”?您需要理论知识还是想在某些代码中使用它,请先明确确切的要求。 - Nishant
请返回翻译后的文本:http://developer.android.com/guide/topics/data/data-storage.htmlhttp://developer.android.com/guide/topics/providers/content-providers.html - Nishant

5

SharedPreferences

SharedPreferences是一个键值存储,您可以在特定的键下保存数据。要从存储中读取数据,您必须知道数据的键。这使得读取数据非常容易。但是,尽管存储少量数据很容易,但存储和读取大型结构化数据却很困难,因为您需要为每个单独的数据定义键,而且您不能真正搜索数据,除非您有一定的命名关键字。

内容提供者

内容提供者管理对结构化数据集的访问。它们封装数据,并提供定义数据安全性的机制。内容提供者是连接一个进程中的数据与运行在另一个进程中的代码的标准接口。

如果您不打算与其他应用程序共享数据,则不需要开发自己的提供程序。但是,如果您想在自己的应用程序中提供自定义搜索建议,则需要自己的提供程序。如果您想从您的应用程序复制和粘贴复杂的数据或文件到其他应用程序中,则还需要自己的提供程序。

Android本身包括管理音频、视频、图像和个人联系信息等数据的内容提供者。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接