Android開發(fā)中的數(shù)據(jù)庫事務用法分析
本文實例講述了Android開發(fā)中的數(shù)據(jù)庫事務用法。分享給大家供大家參考,具體如下:
在android應用程序開發(fā)中,在使用到數(shù)據(jù)庫的時候,事務處理是非常重要的。
首先Android數(shù)據(jù)庫操作(特別是寫操作)是非常慢的,將所有操作打包成一個事務能大大提高處理速度。
其次是保證數(shù)據(jù)的一致性,讓一個事務中的所有操作都成功執(zhí)行,或者失敗,或者所有操作回滾。
如果您喜歡使用其他平臺(如PHP + MySQL),代碼通常在一個功能強大的服務器上運行,一般不會被意外中止,但在android平臺上,您將會因為一次又一次的意外中止感到驚呀。android系統(tǒng)會殺死apps/threads/activities等中斷數(shù)據(jù)庫的使用,電池電量會耗盡或被移除等。所以,使用數(shù)據(jù)庫事物至關重要。
實現(xiàn)android數(shù)據(jù)庫事務非常簡單,只需要使用SQLiteDatabase類的三個方法即可。
beginTransaction();
setTransactionSuccessful();
endTransaction();
當調(diào)用endTransaction()時,所有從beginTransaction()開始的操作都會被提交。
一個簡單的數(shù)據(jù)庫事務操作如下所示:
mDatabase.beginTransaction();
try{
//在這里執(zhí)行多個數(shù)據(jù)庫操作
//執(zhí)行過程中可能會拋出異常
mDatabase.setTransactionSuccessful();
//在setTransactionSuccessful和endTransaction之間不進行任何數(shù)據(jù)庫操作
}catch(Exception e){
//當數(shù)據(jù)庫操作出現(xiàn)錯誤時,需要捕獲異常,結束事務
mDatabase.endTransaction();
throwe;
}
//當所有操作執(zhí)行完成后結束一個事務
mDatabase.endTransaction();
}
更多關于Android相關內(nèi)容感興趣的讀者可查看本站專題:《Android數(shù)據(jù)庫操作技巧總結》、《Android編程之a(chǎn)ctivity操作技巧總結》、《Android文件操作技巧匯總》、《Android編程開發(fā)之SD卡操作方法匯總》、《Android開發(fā)入門與進階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
- Android SQLite事務處理結合Listview列表顯示功能示例
- 深入Android SQLite 事務處理詳解
- Android 用SQLite實現(xiàn)事務的方法
- Android SQLite數(shù)據(jù)庫增刪改查操作的使用詳解
- Android使用SQLite數(shù)據(jù)庫的簡單實例
- android創(chuàng)建數(shù)據(jù)庫(SQLite)保存圖片示例
- Android中的SQL查詢語句LIKE綁定參數(shù)問題解決辦法(sqlite數(shù)據(jù)庫)
- android實現(xiàn)raw文件夾導入數(shù)據(jù)庫代碼
- Android中操作SQLite數(shù)據(jù)庫快速入門教程
- Android實現(xiàn)將已發(fā)送的短信寫入短信數(shù)據(jù)庫的方法
- Android操作SQLite數(shù)據(jù)庫(增、刪、改、查、分頁等)及ListView顯示數(shù)據(jù)的方法詳解
- Android數(shù)據(jù)庫中事務操作方法之銀行轉賬示例
相關文章
Android創(chuàng)建服務之started service詳細介紹
這篇文章主要介紹了Android創(chuàng)建服務之started service,需要的朋友可以參考下2014-02-02
Android App中使用LinearLayout進行居中布局的實例講解
這篇文章主要介紹了Android App中使用LinearLayout進行居中布局的實例講解,文中分別介紹了水平居中和垂直居中的相關線性布局,需要的朋友可以參考下2016-04-04

