Android持久存储

时间:2015-08-11 18:50:38

标签: android json sqlite local-storage storage

我已阅读Android Storage Options,我有一个问题,我无法找到答案:

我应该使用SQLite存储我的数据,还是应该使用写入文件的JSON对象?

要求: 存储(最多)同一对象的几百个实例。每个实例都会有些复杂,存储对图像,较小对象等的引用。数据将存储在本地,并提供云备份选项。所有数据都将在启动时加载,并在用户操作时保存。

我问这个的原因是因为我没有很多数据需要存储 - 对于SQLite数据库来说,可能永远不会超过几百行,这让我觉得SQL太过分了。

此外,将我的数据导出到JSON文件将允许我轻松地从不同的设备平台导入/导出(我已经在iOS上执行此操作)。

或者,也许有更好的选择?如果有一个适用于Android的NSCoding类型库,我可能会使用它。

任何意见都有帮助。

谢谢!

2 个答案:

答案 0 :(得分:2)

从目前为止的展示中,存储文件将更有利。

考虑到每个"单位"少于16个属性,带有短标识符的json文件可能会生成比等效的SQL表示更大的文件表示。 但是,本地文件操作将允许更容易的交互,以及更容易的备份/关闭。 此外,与SQL相比,File类非常简单,可以生成更少的问题。 最后,根据选择,您将不得不评估所使用的操作。

如果您要比较数据,那么SQL可能会更快,但如果您只是将每个数据作为单独的对象输入/输出,那么文件将与SQL一样快。

最后,请详细说明您的对象,不要只创建包含所有信息的1个文件。

答案 1 :(得分:0)

  

我已经阅读了Android存储选项,我有一个问题   我无法找到答案:

     

我应该使用SQLite来存储我的数据,还是应该使用JSON对象   写入文件?

您需要再次分析您的要求。

  

也许有更好的选择?

这取决于您的要求。 如果您的需求被修复为简单地存储和检索,那么您可以查看tinnyDB,这基本上使用SharedPreferences作为存储机制。但是,如果您需要基于案例库的数据选择/查询,那么您应该使用SQLite

相关问题