Android应用程序在初始化的时候,都需要大量数据批量插入SQLite中运行,下面武林技术频道小编为大家慢慢介绍Android SQLite 事务处理的解决方法吧!
解决方法:
添加事务处理,把5000条插入作为一个事务
我们使用SQLite的事务进行控制:
try{
//批量处理操作
for(Collection c:colls){
insert(db, c);
}
db.setTransactionSuccessful(); //设置事务处理成功,不设置会自动回滚不提交。
//在setTransactionSuccessful和endTransaction之间不进行任何数据库操作
}catch(Exception e){
MyLog.printStackTraceString(e);
}finally{
db.endTransaction(); //处理完成
}
一、使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功,则所有从beginTransaction()开始的操作都会被提交,如果没有调用setTransactionSuccessful() 方法则回滚事务。
二、使用例子如下:下面两条SQL语句在同一个事务中执行。
Java代码
相信大家看了详解Android SQLite 事务处理的解决方法,都多多少少了解到了吧,有时候项目的需求和程序的完美结合,才能够让项目达到完美的效果。
新闻热点
疑难解答