2012-08-08 81 views
0

我正在开发Android应用程序,在这里我有大量的数据大约10000条记录与服务器中的10个字段,我需要获取这些数据并将其存储在我的本地数据库,所以为此,我尝试通过以json的形式获取数据并解析它并逐个插入数据库来实现数据,但是下载数据需要更少的时间,但有更多时间插入到数据库中,一段时间后我才知道我插入到数据库一个接一个,所以插入操作循环基于已获得的记录总数。我试图寻找替代方案,我无法为此得到方法,所以我请求你给我建议和片段给我实现这一点。将服务器数据转换为Sqlite数据库

感谢你

回答

0

使用交易多重刀片包装成一个操作,这是一个很大更快: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(); 
}