2011-05-22 199 views
12

Android中的SQLite有没有其他替代方案来保存手机中的数据?我看起来像iOS的coredata或像键值存储更简单的东西。如果我们需要将它嵌入到应用程序中,那么尺寸相对较小的东西也很棒。Android持久化替代SQLite

感谢您的协助。

回答

6

如果您只需要一对简单的商店购买几个键/值对,SharedPreferences即可。如果您正在寻找更强大的功能,与Core Data相比,您应该尝试使用greenDAO。与核心数据一样,greenDAO是对象与数据存储之间的一层(iOS上的Core Data通常也使用SQLite)。

+0

你知道'greenDAO'支持分离/合并内存映射吗? http://stackoverflow.com/questions/40399878/detach-merge-with-ormlight-greendao – 2016-11-03 11:12:25

2

我不知道iOS的任何东西,但看看SharedPreferences

+0

是不是只有用户的喜好? – 2011-05-22 04:34:01

+1

您可以随意使用它 - 使用它来存储少量持久数据是相当普遍的做法。 – Haphazard 2011-05-22 04:37:24

+0

SharedPreferences在存储大量数据时不是首选项。 – tGilani 2013-02-21 05:39:38

2

你可以看看http://jdbm.sourceforge.net/:78kb jar,transactions,会保存到一个文件中。

+1

谢谢。这很有趣。 – 2011-05-22 05:14:37

1

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

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

  2. 如果您需要保存频繁的大数据(例如加速度计数据,gps数据),您可以使用SQLite数据库。

  3. 但是,如果你只是存储大数据,但很少处理它们,最好保存到一个文件中。但一定要缓存数据并一次保存/追加到文件中(因为I/O操作是CPU密集型的并且消耗更多功率)。

0

存在替代呼叫REALM是管理(Ruby on Rails中)状物体,类似于ActiveRecord的数据库一个完整的图书馆。他的优势之一就是交易的速度。但要小心,因为是一个新的图书馆,或许是一个好主意,首先阅读所有文档。