2011-04-11 63 views
7

我想以结构形式存储数据,即关于多个呼叫的所有信息(如呼叫日志)。我应该选择什么?我不想与其他应用程序分享我的数据。在android中存储数据的最佳方法

  1. SQLiteDatabase
  2. 的ContentProvider
  3. SharedPreference
  4. 或文件存储
  5. 或任何方式对我的要求,我不知道。

回答

0

您还可以将数据保存在您的应用程序创建的XML文件中。在很多应用程序中,我都这样做了。使用任何SAX或DOM解析器都可以顺利地检索数据。 没有其他应用程序可以访问该XML。

希望这有助于

17

SharedPreferences显然在内部实现为被序列化和反序列化全面更新上的XML文件。这是一个没有索引的Key-Value商店。所以只能用于与你的应用程序相关的简单数据。任何超过50个键,你可能已经过度了。

ContentProvider旨在跨应用程序共享数据。你明确表示你不想这样做。

SQLiteDatabase适用于各个应用程序存储数据,并提供了很多灵活性以不同方式存储和索引数据。我个人使用它将日志存储在我的一个应用程序中。我会推荐这条路线。

另一种选择是登录存储在文件存储中的普通文本文件。

+1

+1也帮助了我 – Joset 2011-04-11 07:18:46

1

我最近发现了db4o [http://www.db4o.com/android/]。这不是存储日志的最佳选择,但如果你想将数据存储在你的对象中,这当然是SQLite的一个很好的选择。

相关问题