自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android數(shù)據(jù)庫(kù)事務(wù)淺析

移動(dòng)開(kāi)發(fā) Android
在Android開(kāi)發(fā)中,將所有操作打包成一個(gè)事務(wù)為一個(gè)事務(wù)并保證事務(wù)的一致性,可以大幅提高Android數(shù)據(jù)庫(kù)操作的效率。

在Android應(yīng)用程序開(kāi)發(fā)中,經(jīng)常會(huì)遇到需要進(jìn)行數(shù)據(jù)庫(kù)操作的時(shí)候,有關(guān)數(shù)據(jù)庫(kù)事務(wù)處理對(duì)Android應(yīng)用程序的穩(wěn)定性和效率提升非常重要。

首先Android數(shù)據(jù)庫(kù)操作,特別是進(jìn)行寫(xiě)操作的時(shí)候非常慢,將所有操作打包成一個(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類(lèi)的三個(gè)方法即可。

◆beginTransaction();

◆setTransactionSuccessful();

◆endTransaction();

當(dāng)調(diào)用endTransaction()時(shí),所有從beginTransaction()開(kāi)始的操作都會(huì)被提交。

一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)事務(wù)操作如下所示:

  1. mDatabase.beginTransaction();  
  2. try{  
  3.   //在這里執(zhí)行多個(gè)數(shù)據(jù)庫(kù)操作  
  4.   //執(zhí)行過(guò)程中可能會(huì)拋出異常  
  5.   mDatabase.setTransactionSuccessful();  
  6.   //在setTransactionSuccessful和endTransaction之間不進(jìn)行任何數(shù)據(jù)庫(kù)操作  
  7.   }catch(Exception e){  
  8.     //當(dāng)數(shù)據(jù)庫(kù)操作出現(xiàn)錯(cuò)誤時(shí),需要捕獲異常,結(jié)束事務(wù)  
  9.     mDatabase.endTransaction();  
  10.     throw e;  
  11.   }  
  12.   //當(dāng)所有操作執(zhí)行完成后結(jié)束一個(gè)事務(wù)  
  13.   mDatabase.endTransaction();  
  14. }  

 

以上是關(guān)于Android數(shù)據(jù)庫(kù)事務(wù)操作的一個(gè)簡(jiǎn)單示例,在我們平時(shí)的Android開(kāi)發(fā)中,將所有操作打包成一個(gè)事務(wù)為一個(gè)事務(wù)并保證事務(wù)的一致性,可以大幅提高Android數(shù)據(jù)庫(kù)操作的效率。

 

【編輯推薦】

  1. 多圖詳解 “Android UI”設(shè)計(jì)官方教程 
  2. 在Eclipse下搭建Android開(kāi)發(fā)環(huán)境教程 
  3. Android開(kāi)發(fā):系統(tǒng)自動(dòng)實(shí)現(xiàn)開(kāi)機(jī)啟動(dòng) 
  4. Android的UI設(shè)計(jì)與后臺(tái)線程交互 

 

責(zé)任編輯:佚名 來(lái)源: ideasandroid.com
相關(guān)推薦

2009-09-24 14:12:22

Hibernate數(shù)據(jù)

2009-09-18 14:25:36

LINQ to SQL

2011-07-04 13:36:15

2010-04-26 10:52:46

Oracle 數(shù)據(jù)庫(kù)

2017-09-14 10:10:55

數(shù)據(jù)庫(kù)MySQL架構(gòu)

2009-03-16 13:30:55

腳本數(shù)據(jù)字典Oracle

2025-04-08 06:00:00

2024-05-28 00:00:30

Golang數(shù)據(jù)庫(kù)

2020-06-17 16:56:36

數(shù)據(jù)庫(kù)MySQL跨行事務(wù)

2017-08-22 17:10:45

數(shù)據(jù)庫(kù)MySQL事務(wù)模型

2009-07-31 09:57:47

ASP.NET數(shù)據(jù)庫(kù)緩

2009-03-30 14:52:43

復(fù)制數(shù)據(jù)庫(kù)Oracle

2010-04-09 15:35:28

Oracle數(shù)據(jù)庫(kù)

2009-07-16 11:11:39

PowerDesign

2009-07-02 15:09:05

數(shù)據(jù)庫(kù)自動(dòng)存儲(chǔ)管理ASM

2010-04-08 17:31:51

Unix操作系統(tǒng)

2009-07-28 17:36:21

ASP.NET數(shù)據(jù)庫(kù)連

2009-03-23 09:05:01

2010-04-19 13:31:42

Oracle索引

2010-05-31 15:12:44

MySQL數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)