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