Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓持久存储_Android_Json_Sqlite_Local Storage_Storage - Fatal编程技术网

Android 安卓持久存储

Android 安卓持久存储,android,json,sqlite,local-storage,storage,Android,Json,Sqlite,Local Storage,Storage,我已经通读了,我有一个问题没有找到答案: 我应该使用SQLite来存储数据,还是应该使用写入文件的JSON对象? 要求: 存储(最多)同一对象的几百个实例。每个实例都有些复杂,存储对图像、较小对象等的引用。数据将存储在本地,并可选择云备份。所有数据将在启动时加载,并在用户操作时保存 我问这个问题的原因是因为我没有太多的数据要存储——对于SQLite数据库来说,可能永远不会有超过100行的数据,这让我觉得SQL太过分了 此外,将数据导出到JSON文件将允许我轻松地从不同的设备平台导入/导出(我已经

我已经通读了,我有一个问题没有找到答案:

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

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

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

此外,将数据导出到JSON文件将允许我轻松地从不同的设备平台导入/导出(我已经在iOS上这样做了)

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

任何意见都是有益的

谢谢

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

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

你需要再次分析你的需求

也许有更好的选择

这取决于你的要求。
如果您的需求固定为简单地存储和检索,那么您可以查看一下,它基本上使用
SharedReferences
作为存储机制。但是,如果您需要基于案例库的数据选择/查询,那么您应该使用到目前为止介绍的
SQLite

,在文件中存储将更为有利

考虑到每个“单元”少于16个属性,一个具有短标识符的json文件可能会生成一个比等效SQL表示更大的文件表示。 但是,本地文件操作将允许更轻松的交互,以及更轻松的备份/关闭。 此外,与SQL相比,File类非常简单,生成的问题更少。 最后,在给出选择的情况下,您必须评估所使用的操作

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


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

这是一个广泛的问题,可能会导致一些自以为是的答案。您是回答这个问题的最佳人选,因为只有您知道要存储的数据。我想我更想知道JSON是否是一种有效的持久存储格式?或者,如果我需要存储一个只有1000个值的数组,就会遇到性能问题。任何人,先生,您是sqlite,谁知道数据库等等。。只是要确保你能有效地使用它等等,好的,为了性能,有很多地方你可以找到,不仅仅是你的数据存储和检索,所以自由世界先生。我对这个问题增加了要求。我不需要使用任何查询;这是一个在启动时加载所有数据并在操作时保存数据的问题。谢谢您的输入。我想知道,有没有一种简单的方法可以将SQL数据库导出到JSON?或者,更准确地说,将Java对象导出为JSON?如果是这样的话,从长远来看,使用数据库可能是有益的。@cohenadair我不知道有一个好的程序可以将数据库输出到json,因为它们的规则是不同的。我通常做的是,有一个“toJsonFile(some rule)”,基本上,我会从服务器读取一些数据,并将其分到文件中(比如output0.json…output999.json)。这很好。当我有太多数据时,我可以使用坏端计算机继续批量传输数据(还有,电话设备等)……谢谢;我想我会尝试一下这条路线,因为它将使从其他平台导入/导出到其他平台更加容易。另外,我已经将iOS数据导出到JSON文件进行备份。