将服务器数据转换为Sqlite数据库
问题描述:
我正在开发Android应用程序,在这里我有大量的数据大约10000条记录与服务器中的10个字段,我需要获取这些数据并将其存储在我的本地数据库,所以为此,我尝试通过以json的形式获取数据并解析它并逐个插入数据库来实现数据,但是下载数据需要更少的时间,但有更多时间插入到数据库中,一段时间后我才知道我插入到数据库一个接一个,所以插入操作循环基于已获得的记录总数。我试图寻找替代方案,我无法为此得到方法,所以我请求你给我建议和片段给我实现这一点。将服务器数据转换为Sqlite数据库
感谢你
答
使用交易多重刀片包装成一个操作,这是一个很大更快:Improve INSERT-per-second performance of SQLite?
List<Item> list = getDataFromJson();
SQLiteDatabase db = getDatabase();
db.beginTransaction();
try {
// doing all the inserts (into memory) here
for(Item item : list) {
db.insert(table, null, item.getContentValues());
}
// nothing was actually inserted yet
db.setTransactionSuccessful();
} finally {
// all inserts happen now (if transaction was set to successful)
db.endTransaction();
}