Java 在Android中存储数据的最佳方式

Java 在Android中存储数据的最佳方式,java,android,database,Java,Android,Database,我希望以结构形式存储数据,即关于许多调用的所有信息(如调用日志)。我更喜欢什么?我不想与其他应用程序共享我的数据 SQLITE数据库 内容提供者 共享引用 或文件存储 或者任何我不知道的我的要求 您还可以将数据保存在应用程序创建的XML文件中。在许多应用程序中,我都是这样做的。使用任何SAX或DOM解析器都可以顺利地检索数据。 没有其他应用程序可以访问该XML 希望这有帮助SharedReferences显然是作为一个XML文件在内部实现的,它在更新时被完全序列化和反序列化。它是一个没有索引的键

我希望以结构形式存储数据,即关于许多调用的所有信息(如调用日志)。我更喜欢什么?我不想与其他应用程序共享我的数据

  • SQLITE数据库
  • 内容提供者
  • 共享引用
  • 或文件存储
  • 或者任何我不知道的我的要求

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


    希望这有帮助

    SharedReferences
    显然是作为一个XML文件在内部实现的,它在更新时被完全序列化和反序列化。它是一个没有索引的键值存储。因此,仅将其用于与应用程序关联的简单数据。任何超过50把钥匙,你可能都做得太多了

    ContentProvider
    用于跨应用程序共享数据。你明确地说你不想那样做

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


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

    我最近发现了db4o[http://www.db4o.com/android/]. 它不是存储日志的最佳选择,但如果您想将数据存储在对象中,这肯定是SQLite的一个极好的替代方案