Android開發(fā)中的數(shù)據(jù)庫(kù)事務(wù)用法分析
本文實(shí)例講述了Android開發(fā)中的數(shù)據(jù)庫(kù)事務(wù)用法。分享給大家供大家參考,具體如下:
在android應(yīng)用程序開發(fā)中,在使用到數(shù)據(jù)庫(kù)的時(shí)候,事務(wù)處理是非常重要的。
首先Android數(shù)據(jù)庫(kù)操作(特別是寫操作)是非常慢的,將所有操作打包成一個(gè)事務(wù)能大大提高處理速度。
其次是保證數(shù)據(jù)的一致性,讓一個(gè)事務(wù)中的所有操作都成功執(zhí)行,或者失敗,或者所有操作回滾。
如果您喜歡使用其他平臺(tái)(如PHP + MySQL),代碼通常在一個(gè)功能強(qiáng)大的服務(wù)器上運(yùn)行,一般不會(huì)被意外中止,但在android平臺(tái)上,您將會(huì)因?yàn)橐淮斡忠淮蔚囊馔庵兄垢械襟@呀。android系統(tǒng)會(huì)殺死apps/threads/activities等中斷數(shù)據(jù)庫(kù)的使用,電池電量會(huì)耗盡或被移除等。所以,使用數(shù)據(jù)庫(kù)事物至關(guān)重要。
實(shí)現(xiàn)android數(shù)據(jù)庫(kù)事務(wù)非常簡(jiǎn)單,只需要使用SQLiteDatabase類的三個(gè)方法即可。
beginTransaction();
setTransactionSuccessful();
endTransaction();
當(dāng)調(diào)用endTransaction()時(shí),所有從beginTransaction()開始的操作都會(huì)被提交。
一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)事務(wù)操作如下所示:
mDatabase.beginTransaction(); try{ //在這里執(zhí)行多個(gè)數(shù)據(jù)庫(kù)操作 //執(zhí)行過(guò)程中可能會(huì)拋出異常 mDatabase.setTransactionSuccessful(); //在setTransactionSuccessful和endTransaction之間不進(jìn)行任何數(shù)據(jù)庫(kù)操作 }catch(Exception e){ //當(dāng)數(shù)據(jù)庫(kù)操作出現(xiàn)錯(cuò)誤時(shí),需要捕獲異常,結(jié)束事務(wù) mDatabase.endTransaction(); throwe; } //當(dāng)所有操作執(zhí)行完成后結(jié)束一個(gè)事務(wù) mDatabase.endTransaction(); }
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android數(shù)據(jù)庫(kù)操作技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android編程開發(fā)之SD卡操作方法匯總》、《Android開發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android SQLite事務(wù)處理結(jié)合Listview列表顯示功能示例
- 深入Android SQLite 事務(wù)處理詳解
- Android 用SQLite實(shí)現(xiàn)事務(wù)的方法
- Android SQLite數(shù)據(jù)庫(kù)增刪改查操作的使用詳解
- Android使用SQLite數(shù)據(jù)庫(kù)的簡(jiǎn)單實(shí)例
- android創(chuàng)建數(shù)據(jù)庫(kù)(SQLite)保存圖片示例
- Android中的SQL查詢語(yǔ)句LIKE綁定參數(shù)問(wèn)題解決辦法(sqlite數(shù)據(jù)庫(kù))
- android實(shí)現(xiàn)raw文件夾導(dǎo)入數(shù)據(jù)庫(kù)代碼
- Android中操作SQLite數(shù)據(jù)庫(kù)快速入門教程
- Android實(shí)現(xiàn)將已發(fā)送的短信寫入短信數(shù)據(jù)庫(kù)的方法
- Android操作SQLite數(shù)據(jù)庫(kù)(增、刪、改、查、分頁(yè)等)及ListView顯示數(shù)據(jù)的方法詳解
- Android數(shù)據(jù)庫(kù)中事務(wù)操作方法之銀行轉(zhuǎn)賬示例
相關(guān)文章
Android編程實(shí)現(xiàn)簡(jiǎn)單文件瀏覽器功能
這篇文章主要介紹了Android編程實(shí)現(xiàn)簡(jiǎn)單文件瀏覽器功能,結(jié)合實(shí)例形式分析了Android文件管理器的布局、文件與目錄的遍歷、權(quán)限控制等相關(guān)操作技巧,需要的朋友可以參考下2018-01-01android listview的多列模版實(shí)例代碼
這篇文章主要介紹了android listview的多列模版實(shí)例代碼的相關(guān)資料,這里附有實(shí)例代碼,具有參考價(jià)值,需要的朋友可以參考下2017-01-01Android Canvas方法總結(jié)最全面詳解API(小結(jié))
本篇文章主要介紹了Android Canvas方法總結(jié)最全面詳解API(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11android屏幕圓角實(shí)現(xiàn)方法的示例代碼
本篇文章主要介紹了android屏幕圓角實(shí)現(xiàn)方法的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11使用Fragment來(lái)處理Andoird app的UI布局的實(shí)例分享
這篇文章主要介紹了使用Fragment來(lái)處理Andoird appUI布局的實(shí)例分享,Fragment的出現(xiàn)緩解了代碼依賴于Activity而造成的臃腫狀況,需要的朋友可以參考下2016-02-02Android 使用CoordinatorLayout實(shí)現(xiàn)滾動(dòng)標(biāo)題欄效果的實(shí)例
下面小編就為大家?guī)?lái)一篇Android 使用CoordinatorLayout實(shí)現(xiàn)滾動(dòng)標(biāo)題欄效果的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03