在 android 中本地存储和检索数据的最佳方式

Best way to store and retrieve data locally in android

我正在开发一个处理大量文本的 android 应用程序。我对数据存储和检索感到困惑,我应该使用哪个来更快地检索数据? Sqlite 或文件存储(json 个文件,每个类别单独的文件)。首先我想到了 sqlite,因为它更容易管理数据,但是创建 table 需要一些时间,每个 table 中有将近 1000 行,或者我必须将数据库与我的应用程序一起发送,并且它会增加下载大小,然后我想到了文件存储。我应该使用哪一个,sqlite 或 json 文件,因为数据创建是一次性过程,其余的是检索?谁能推荐一个更好的方法,我真的,真的很困惑。

如果你有大量的文本和数据,使用greenDAO。它会处理你的 SQLite 相关的东西。一开始有点混乱,但是一旦你尝试了它,你将永远不会在没有它的情况下在 Android 上使用 SQLite:

http://greendao-orm.com/

一些有趣的链接: http://developer.android.com/guide/topics/data/data-storage.html http://developer.android.com/training/basics/data-storage/index.html

假设 table 创建仅在安装应用程序时发生一次,那么除非 table 创建非常非常慢,否则您可以在应用程序首次安装时简单地创建并包含一些适当的在屏幕上向用户发送消息。

理想情况下,如果您的应用可以在不使用数据的情况下做其他有用的事情,那么您可以让用户使用应用的其他部分,同时 table 创建在后台完成。

我从过去的经验中发现,创建非常大的简单 tables 实际上非常快,但您需要测试以了解您的示例需要多长时间。

另请注意,您可以选择通过 SQLiteOpenHelper 的 onUpgrade 方法仅修改升级时需要修改的数据库部分,因此您可能不必在安装时重新创建完整的数据库应用程序的新版本。这还包括通过将更新推迟到首次使用数据库来避免延迟应用程序启动的机制,尽管在这种情况下这可能不是您想要的。