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 事務處理的解決方法,都多多少少了解到了吧,有時候項目的需求和程序的完美結合,才能夠讓項目達到完美的效果。
新聞熱點
疑難解答