歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android數據庫事務淺析

Android數據庫事務淺析

日期:2017/3/1 10:00:40   编辑:Linux編程

在Android開發中,將所有操作打包成一個事務為一個事務並保證事務的一致性,可以大幅提高Android數據庫操作的效率。

在Android應用程序開發中,經常會遇到需要進行數據庫操作的時候,有關數據庫事務處理對Android應用程序的穩定性和效率提升非常重要。

首先Android數據庫操作,特別是進行寫操作的時候非常慢,將所有操作打包成一個事務能大大提高處理速度。

其次是保證數據的一致性,讓一個事務中的所有操作都成功執行,或者失敗,或者所有操作回滾。

如果您喜歡使用其他平台(如PHP + MySQL),代碼通常在一個功能強大的服務器上運行,一般不會被意外中止,但在Android平台上,您將會因為一次又一次的意外中止感到驚呀。Android系統會殺死apps/threads/activities等中斷數據庫的使用,電池電量會耗盡或被移除等。所以,使用數據庫事物至關重要。

實現Android數據庫事務非常簡單,只需要使用SQLiteDatabase類的三個方法即可。

◆beginTransaction();

◆setTransactionSuccessful();

◆endTransaction();

當調用endTransaction()時,所有從beginTransaction()開始的操作都會被提交。

一個簡單的數據庫事務操作如下所示:

  1. mDatabase.beginTransaction();
  2. try{
  3. //在這裡執行多個數據庫操作
  4. //執行過程中可能會拋出異常
  5. mDatabase.setTransactionSuccessful();
  6. //在setTransactionSuccessful和endTransaction之間不進行任何數據庫操作
  7. }catch(Exception e){
  8. //當數據庫操作出現錯誤時,需要捕獲異常,結束事務 mDatabase.endTransaction();
  9. throw e;
  10. }
  11. //當所有操作執行完成後結束一個事務
  12. mDatabase.endTransaction();
  13. }

以上是關於Android數據庫事務操作的一個簡單示例,在我們平時的Android開發中,將所有操作打包成一個事務為一個事務並保證事務的一致性,可以大幅提高Android數據庫操作的效率

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved