2013-01-30

Android 手機資料庫(六) - 使用Transaction(交易)

在Activity使用新增、修改、刪除時,有時候都會遇到需要同時處理多筆資料的狀況

這時候如果用一般的寫法,如果在中間處理的資料出錯了,那麼資料就會不完整寫入資料庫了

怎麼辦呢?這個時候就需要用到Transaction(交易),Transaction在很多程式中都有用到

而且是一定會用到,所以我們下面就來看一下在Android系統中該怎麼使用Transaction交易

來達到多筆資料同時處理的目的,其實和其他程式一樣很簡單的。

如果您看過前幾篇資料庫的文章的話,應該會知道其中會有一段db = helper.getWritableDatabase();

只要在這個下面加入:db.beginTransaction();//建立交易

之後就可以正常的用db.insert、db.update等一般資料庫寫入

在最後面都寫完資料庫後得加入此程式碼:db.setTransactionSuccessful();//正式寫入資料庫中

然後我們一般會使用try{}catch{}來抓取出錯誤的訊息,只要在catch中加入db.endTransaction();//結束交易

只要在寫入的過程中有一個出錯了,交易就會中斷,以達到多筆資料同進同出,就這麼簡單

以上就是為您介紹在Android系統中怎麼使用Transaction的方法,謝謝。

2013-01-23

Android 實用程式碼片段(一) - 返回鍵退出(onKeyDown)、返回鍵退出確認

現在應用程式上應該都有按下返回鍵會詢問是否離開的訊息,但這是怎麼做到的呢?

下面為您介紹此實用程式碼:

public boolean onKeyDown(int keyCode, KeyEvent event) {//捕捉返回鍵
        if ((keyCode == KeyEvent.KEYCODE_BACK)) {   
        	ConfirmExit();//按返回鍵,則執行退出確認
        	return true;   
        }   
        return super.onKeyDown(keyCode, event);   
    }
    public void ConfirmExit(){//退出確認
    	AlertDialog.Builder ad=new AlertDialog.Builder(MyOpenDataActivity.this);
    	ad.setTitle("離開");
    	ad.setMessage("確定要離開?");
    	ad.setPositiveButton("是", new DialogInterface.OnClickListener() {//退出按鈕
			public void onClick(DialogInterface dialog, int i) {
				// TODO Auto-generated method stub
				MyOpenDataActivity.this.finish();//關閉activity
 
			}
		});
    	ad.setNegativeButton("否",new DialogInterface.OnClickListener() {
			public void onClick(DialogInterface dialog, int i) {
				//不退出不用執行任何操作
			}
		});
    	ad.show();//示對話框
    }

只要在onCreate之外加入上面這段程式碼,程式就會在該Activity加入按下返回鍵時的詢問。