2013-03-26 54 views
1

,如果我要保存大量的数据,如RSS在我的应用供稿或主题Android的SharedPreferences或sqllite

我一定要使用sqlllite或SharedPreferences

剂量SharedPreferences保存为共享信息?像任何其他应用程序可以使用它们?

+0

请接受答案,将您的问题标记为已回答。为什么和如何?请参阅:[如何接受答案的工作?](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – Rayne 2013-03-27 17:40:12

回答

1

在这种情况下,您最好使用SQLite选项,该设计用于存储大量数据,而共享首选项旨在将相对少量的数据存储在键值对中。

而不是名称有点混淆,但这意味着这些首选项是共享给您的所有应用程序活动,而不是其他应用程序。

1

不,你可能想要某种类型的数据库或存储文件。 Shared Prefs用于将持久数据保存在("key", value)对中,例如可能是登录ID或某种状态。您不会在其中存储“大量”数据。即使关闭数据,它也会将数据保留在应用程序中。你可以阅读更多关于Storage Options here

如果你想分享与其他应用程序的数据,那么你可能想看看Content Providers

1

SharedPreferences应该只用于存储原始和有限的数据,而SQL是专为结构化和大量的数据。由于您希望存储大量数据,因此您可能还想使用它搜索或进行其他有用的转换,所以SQL就是您想要使用的,因为它提供了这些功能。 SharedPreferences是愚蠢的key-valuekey-values持有人没有实际处理功能。

SharedPreferences不与其他应用程序共享,但它可能(虽然从来没有打算)允许其他应用程序通过一些额外的工作来访问它们。

可以将您的应用程序配置为其他应用程序的服务提供程序。这允许外部应用程序与您的私人SQL -DB(或更抽象的API)一起工作。也有可能(并建议)限制对数据库的访问,以免任何第三方应用程序能够混淆您的宝贵数据。