2016年6月17日 星期五
偏好設定_Preferences
public class MainActivity extends Activity {
private EditText medtName, medtAge;
private RadioGroup mradgrp;
private RadioButton mr1, mr2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
medtName = (EditText) findViewById(R.id.edtName);
medtAge = (EditText) findViewById(R.id.edtAge);
mradgrp = (RadioGroup) findViewById(R.id.radgrp);
mr1 = (RadioButton) findViewById(R.id.r1);
mr2 = (RadioButton) findViewById(R.id.r2);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit(); // 取得編輯器物件
editor.putString("姓名", medtName.getText().toString()); // 以字串型態儲存
editor.putInt("年齡", Integer.parseInt(medtAge.getText().toString())); // 以數字型態儲存
switch (mradgrp.getCheckedRadioButtonId()) {
case R.id.r1:
editor.putBoolean("性別", true); // 以布林型態儲存
break;
case R.id.r2:
editor.putBoolean("性別", false); // 以布林型態儲存
break;
}
editor.commit();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
SharedPreferences myRecord = getPreferences(MODE_PRIVATE);
medtName.setText(myRecord.getString("姓名", "無資料")); // 以「姓名」為 key 取值,若查無資料則回傳「無資料」字串。
medtAge.setText(Integer.toString(myRecord.getInt("年齡", 0))); // 以「年齡」為 key 取值,若查無資料則回傳數值「0」。
if (myRecord.getBoolean("性別", true)) { // 以「性別」為 key 取值,若查無資料則回傳布林值「true」。
mr1.setChecked(true);
} else {
mr2.setChecked(true);
}
}
}
範例下載
訂閱:
張貼留言 (Atom)

沒有留言:
張貼留言