Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 sqlite数据库_Android_Json_Sqlite - Fatal编程技术网

将文件中的大数据插入android sqlite数据库

将文件中的大数据插入android sqlite数据库,android,json,sqlite,Android,Json,Sqlite,我有大约9000条json记录,文件中存储了7-8个属性。我必须将该数据插入sqlite数据库。最有效的方法是什么。 到目前为止,我正在将该文件数据转换为jsonarray,并将其转换为arraylist,然后将该列表插入数据库,这显然不是一种有效的方法 编辑:-此文件已存在于resources文件夹中,因此需要在开始时将数据插入数据库中不要随应用程序一起提供JSON,而是随应用程序一起提供SQLite数据库 对于JSON来自其他地方(例如Web服务)的情况,请确保在使用该数据更新SQLite时

我有大约9000条json记录,文件中存储了7-8个属性。我必须将该数据插入
sqlite
数据库。最有效的方法是什么。
到目前为止,我正在将该文件数据转换为
jsonarray
,并将其转换为
arraylist
,然后将该列表插入数据库,这显然不是一种有效的方法


编辑:-此文件已存在于resources文件夹中,因此需要在开始时将数据插入数据库中

不要随应用程序一起提供JSON,而是随应用程序一起提供SQLite数据库


对于JSON来自其他地方(例如Web服务)的情况,请确保在使用该数据更新SQLite时使用事务。默认情况下,每个SQL操作都是一个事务,并且事务有点昂贵。在一个事务(或9个事务,或90个事务)中插入9000个项目要比在9000个事务中插入9000个项目快得多。如果您使用的是
SQLiteDatabase
,请使用
beginTransaction()
markTransactionSuccessful()
,以及
endTransaction()
。如果您正在使用房间,请使用
@Transaction
。如果您正在使用其他数据库API,请查阅其文档,了解如何设置您自己的事务。

使用Realm database。或者“大约需要6-8分钟”——如果您提供了一个API,也许有人可以提供优化它的建议(例如,使用事务)。如果此数据应该随应用程序一起提供,请不要提供JSON,而是提供准备好的SQLite数据库并使用该打包数据库。不要转换JSON->JsonArray->ArrayList-SQLite,而是使用JSON->JsonArray并直接逐个放入SQLite数据库