android SQLite 对事物处理的支持提供了4个方法。
public void beginTransaction()
Begins a transaction in EXCLUSIVE mode.
Transactions can be nested. When the outer transaction is ended all of the work done in that transaction and all of the nested transactions will be committed or rolled back. The changes will be rolled back if any transaction is ended without being marked as clean (by calling setTransactionSuccessful). Otherwise they will be committed.
Here is the standard idiom for transactions:
db.beginTransaction();//开启事物
try {
//批量处理
...
db.setTransactionSuccessful();//事物处理成功
} finally {
db.endTransaction();//结束事物
}
此外还提供其他类似方法:
public void beginTransactionNonExclusive() //Begins a transaction in IMMEDIATE mode.
public void beginTransactionWithListener(SQLiteTransactionListener transactionListener)//Begins a transaction in EXCLUSIVE mode.
public void beginTransactionWithListenerNonExclusive(SQLiteTransactionListener transactionListener)//Begins a transaction in IMMEDIATE mode