我已阅读Android Storage Options,我有一个问题,我无法找到答案:
我应该使用SQLite存储我的数据,还是应该使用写入文件的JSON对象?
要求: 存储(最多)同一对象的几百个实例。每个实例都会有些复杂,存储对图像,较小对象等的引用。数据将存储在本地,并提供云备份选项。所有数据都将在启动时加载,并在用户操作时保存。
我问这个的原因是因为我没有很多数据需要存储 - 对于SQLite数据库来说,可能永远不会超过几百行,这让我觉得SQL太过分了。
此外,将我的数据导出到JSON文件将允许我轻松地从不同的设备平台导入/导出(我已经在iOS上执行此操作)。
或者,也许有更好的选择?如果有一个适用于Android的NSCoding
类型库,我可能会使用它。
任何意见都有帮助。
谢谢!
答案 0 :(得分:2)
从目前为止的展示中,存储文件将更有利。
考虑到每个"单位"少于16个属性,带有短标识符的json文件可能会生成比等效的SQL表示更大的文件表示。 但是,本地文件操作将允许更容易的交互,以及更容易的备份/关闭。 此外,与SQL相比,File类非常简单,可以生成更少的问题。 最后,根据选择,您将不得不评估所使用的操作。
如果您要比较数据,那么SQL可能会更快,但如果您只是将每个数据作为单独的对象输入/输出,那么文件将与SQL一样快。
最后,请详细说明您的对象,不要只创建包含所有信息的1个文件。
答案 1 :(得分:0)
我已经阅读了Android存储选项,我有一个问题 我无法找到答案:
我应该使用SQLite来存储我的数据,还是应该使用JSON对象 写入文件?
您需要再次分析您的要求。
也许有更好的选择?
这取决于您的要求。
如果您的需求被修复为简单地存储和检索,那么您可以查看tinnyDB,这基本上使用SharedPreferences
作为存储机制。但是,如果您需要基于案例库的数据选择/查询,那么您应该使用SQLite
。