2013-03-26 42 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)一起工作。也有可能(並建議)限制對數據庫的訪問,以免任何第三方應用程序能夠混淆您的寶貴數據。