【问题标题】:Android persistence alternative to SQLiteSQLite 的 Android 持久性替代方案
【发布时间】:2011-05-22 04:17:43
【问题描述】:

Android 中的 SQLite 是否有其他替代方法可以将数据持久保存在手机中?我正在寻找类似 iOS coredata 的东西或更简单的东西,比如键值存储。如果我们需要将它嵌入到应用程序中,体积相对较小的东西也很好。

感谢您的帮助。

【问题讨论】:

    标签: android core-data persistence key-value


    【解决方案1】:

    如果您只需要一个简单的存储几个键/值对,SharedPreferences 是您的最佳选择。如果你正在寻找比 Core Data 更强大的东西,你应该试试greenDAO。与 Core Data 一样,greenDAO 是对象和数据存储之间的一层(iOS 上的 Core Data 通常也采用 SQLite)。

    【讨论】:

    【解决方案2】:

    我对iOS一无所知,但看看SharedPreferences

    【讨论】:

    • 那不只是为了用户偏好吗?
    • 您可以随意使用它 - 使用它来存储少量持久数据是一种相当普遍的做法。
    • SharedPreferences 在存储大量数据时不是首选。
    • SharedPreferences 实际上是用来存储原始数据的
    【解决方案3】:

    在 Android 中持久化数据有几种不同的方法。阅读this Android article 了解它。

    【讨论】:

      【解决方案4】:

      您可以查看http://jdbm.sourceforge.net/:78kb jar,事务,将保存到文件中。

      【讨论】:

      • 谢谢。这很有趣。
      【解决方案5】:

      您可以序列化为 xml。看看 Simple http://simple.sourceforge.net/ 它的大小不到 500kb。

      【讨论】:

        【解决方案6】:

        推荐三种方法来存储您的 Android 应用程序的数据(根据 Android 文档)。

        1. 如果您需要保存设置、配置、用户凭据 您可以使用 SharedPreferences。 优点:SharedPreferences 中保存的数据比静态全局变量要好。 因为它是线程安全的,所以即使杀死应用程序,数据也不会消失。

        2. 如果你需要保存大数据(例如加速度计数据、gps 数据),而这些数据很频繁,你可以使用 SQLite 数据库。

        3. 但是,如果您只是存储大数据但很少处理它们,最好保存到文件中。但请确保一次缓存数据并保存/附加到文件(因为 I/O 操作是 CPU 密集型的,并且会消耗更多的电量)。

        【讨论】:

          【解决方案7】:

          Exist an alternative call REALM 是一个完整的库,用于管理类似对象的数据库,类似于 ActiveRecord(在 Ruby on Rails 中)。他的优势之一是交易速度。但要小心,因为是一个新库,首先阅读所有文档可能是个好主意。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-06-13
            • 1970-01-01
            相关资源
            最近更新 更多