项目中遇到处理批量插入数据的功能。后期提高了插入数据效果,用事务的方式。
在ContentProvider 中重写方法:
@Override
public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation>operations)
throws OperationApplicationException{
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
db.beginTransaction();//开始事务
try{
ContentProviderResult[]results = super.applyBatch(operations);
db.setTransactionSuccessful();//设置事务标记为successful
return results;
}finally {
db.endTransaction();//结束事务
}
}
利用ContentProviderOperation ,ContentResolver的applyBatch即可。
感谢同事牛人指点。O(∩_∩)O~