我想以结构形式存储数据,即关于多个呼叫的所有信息(如呼叫日志)。我应该选择什么?我不想与其他应用程序分享我的数据。在android中存储数据的最佳方法
- SQLiteDatabase
- 的ContentProvider
- SharedPreference
- 或文件存储
- 或任何方式对我的要求,我不知道。
我想以结构形式存储数据,即关于多个呼叫的所有信息(如呼叫日志)。我应该选择什么?我不想与其他应用程序分享我的数据。在android中存储数据的最佳方法
您还可以将数据保存在您的应用程序创建的XML文件中。在很多应用程序中,我都这样做了。使用任何SAX或DOM解析器都可以顺利地检索数据。 没有其他应用程序可以访问该XML。
希望这有助于
SharedPreferences
显然在内部实现为被序列化和反序列化全面更新上的XML文件。这是一个没有索引的Key-Value商店。所以只能用于与你的应用程序相关的简单数据。任何超过50个键,你可能已经过度了。
ContentProvider
旨在跨应用程序共享数据。你明确表示你不想这样做。
SQLiteDatabase
适用于各个应用程序存储数据,并提供了很多灵活性以不同方式存储和索引数据。我个人使用它将日志存储在我的一个应用程序中。我会推荐这条路线。
另一种选择是登录存储在文件存储中的普通文本文件。
我最近发现了db4o [http://www.db4o.com/android/]。这不是存储日志的最佳选择,但如果你想将数据存储在你的对象中,这当然是SQLite的一个很好的选择。
+1也帮助了我 – Joset 2011-04-11 07:18:46