Android開發中的SQLite事務處理,即beginTransaction()方法…java
使用SQLiteDatabase的beginTransaction()方法能夠開啓一個事務,程序執行到endTransaction() 方法時會檢查事務的標誌是否爲成功,若是程序執行到endTransaction()以前調用了setTransactionSuccessful() 方法設置事務的標誌爲成功則提交事務,若是沒有調用setTransactionSuccessful() 方法則回滾事務。事務處理應用:不少時候咱們須要批量的向Sqlite中插入大量數據時,單獨的使用添加方法致使應用響應緩慢, 由於sqlite插入數據的時候默認一條語句就是一個事務,有多少條數據就有多少次磁盤操做。如初始8000條記錄也就是要8000次讀寫磁盤操做。同時也是爲了保證數據的一致性,避免出現數據缺失等狀況。sql
SQLiteDatabase db = dbOpenHelper.getWritableDatabase(); //開啓事務 db.beginTransaction(); try{ //批量處理操做 //do something db.execSQL(「SQL語句」, new Object[]{}); db.execSQL(「SQL語句」, new Object[]{}); //設置事務標誌爲成功,當結束事務時就會提交事務 db.setTransactionSuccessful(); } catch(Exception e){ } finally{ //結束事務 db.endTransaction(); }