我想以结构形式存储数据,即有关许多呼叫的所有信息(如呼叫日志)。我还应该喜欢什么?我不想与其他应用程序共享我的数据。
答案 0 :(得分:17)
SharedPreferences
显然在内部实现为XML文件,在更新时完整地序列化和反序列化。它是一个没有索引的Key-Value商店。因此,仅将此用于与您的应用相关联的简单数据。任何超过50个键,你可能已经过度了。
ContentProvider
旨在跨应用程序共享数据。你明确表示你不想这样做。
SQLiteDatabase
用于存储数据的各个应用程序,并提供了以不同方式存储和索引数据的大量灵活性。我个人用它来存储我的一个应用程序中的日志。我推荐这条路线。
另一种选择是登录存储在文件存储中的普通文本文件。
答案 1 :(得分:1)
我最近发现了db4o [http://www.db4o.com/android/]。它不是存储日志的最佳选择,但如果您想将数据存储在对象中,这肯定是SQLite的绝佳替代方案。
答案 2 :(得分:0)
您还可以将数据保存在应用程序创建的XML文件中。在许多应用程序中,我已经这样做了。使用任何SAX或DOM解析器,您都可以顺利地检索数据。 没有其他应用程序可以访问该XML。
希望这有帮助