因為書中有三種寫法,
在上網查詢後發現內地的開發者常用第一種,
而我較偏好第二種方式,
第三種是另開一個頁面供偏好設定的視覺化選擇。
這裡記錄我常用的方法,
流程是:
- 先新增一個專門處理偏好設定的類別(在 /src 之下)
- 然後寫入偏好設定的處理「方法」,「寫入值給偏好設定」及「從偏好設定取得值」。
- 在想記錄下設定的類別中執行寫入及讀取的動作。寫入的時機點看是按下按鈕觸發、還是達到什麼條件滿足時進行;讀取的時機和寫入一樣。
下面是寫在處理偏好設定的類別之中。
(假設這個類別名稱是 PrefSetting)
寫入偏好設定:
//寫入偏好設定 public static void setEditTextNum1(Context context, String EditTextNum1) { SharedPreferences num1 = PreferenceManager.getDefaultSharedPreferences(context); Editor editor = num1.edit(); editor.putString("Num1",EditTextNum1) .commit(); return; }
既然有寫入當然也要讀取,
讀取偏好設定:
//讀取偏好設定 public static String getEditTextNum1(Context context) { SharedPreferences Num1 = PreferenceManager.getDefaultSharedPreferences(context); return Num1.getString("Num1", ""); }
至於主程式要怎麼呼叫寫入偏好設定的值呢?
以按下按鈕為例:
private void btnSavesetOnClickListener() { btn_Save.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { PrefSetting.setEditTextNum1(this, Num1); } }); }
假設用按鈕讀取數值偏好設定的數值:
private void btnSavesetOnClickListener() { btn_Save.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { } }); }
沒有留言:
張貼留言