Android 的簡單資料儲存及讀取(非)
阿新 • • 發佈:2019-01-28
介面:
首先將介面所有控制元件在initView()中初始化,並且在MainActivity的onCreate(Bundle savedInstanceState)方法中呼叫initView()。
實現程式碼:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { // TODO Auto-generated method stub EtTemp = (EditText)findViewById(R.id.tempEdit); EtTemp2 = (EditText)findViewById(R.id.tempEdit2); EtShidu = (EditText)findViewById(R.id.shiduEdit); EtShidu2 = (EditText)findViewById(R.id.shiduEdit2); EtLight = (EditText)findViewById(R.id.lightEdit); EtCo = (EditText)findViewById(R.id.CoEdit); BtnSave = (Button)findViewById(R.id.saveBtn); BtnReset = (Button)findViewById(R.id.resetBtn); BtnCencol = (Button)findViewById(R.id.cencolBtn); }
之後給每個按鈕控制元件新增事件響應
1、儲存按鈕事件響應
BtnSave.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String temp1 = EtTemp.getText().toString(); //獲取文字框的字串 String temp2 = EtTemp2.getText().toString(); String shidu = EtShidu.getText().toString(); String shidu2 = EtShidu2.getText().toString(); String light = EtLight.getText().toString(); String co = EtCo.getText().toString(); //Android提供的輕量級儲存類,儲存形式為:XMl 詳細見下方傳送門 SharedPreferences mShare = getSharedPreferences("zhcs", Context.MODE_PRIVATE); Editor mEdit = mShare.edit(); mEdit.putString("最低溫度", temp1); mEdit.putString("最高溫度",temp2 ); mEdit.putString("最低溼度",shidu ); mEdit.putString("最高溼度",shidu2 ); mEdit.putString("光照強度",light ); mEdit.putString("CO臨界值",co ); mEdit.commit(); //這裡屬於Android的內部訊息提示,也是響應的一部分,屬於提示性響應。詳情見下方傳送門 Toast.makeText(MainActivity.this, "儲存成功", Toast.LENGTH_SHORT).show(); } });
2、重置按鈕事件響應
//實質就是將文字框制空值 BtnReset.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub EtTemp.setText(""); EtTemp2.setText(""); EtShidu.setText(""); EtShidu2.setText(""); EtLight.setText(""); EtCo.setText(""); Toast.makeText(MainActivity.this,"重置成功", Toast.LENGTH_SHORT).show(); } });
3、讀取按鈕事件響應
BtnCencol.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SharedPreferences mShare = getSharedPreferences("zhcs", Context.MODE_PRIVATE);
String temp1 = mShare.getString("最低溫度", "");
String temp2 = mShare.getString("最高溫度", "");
String shidu1 = mShare.getString("最低溼度", "");
String shidu2 = mShare.getString("最高溼度", "");
String light = mShare.getString("光照強度", "");
String co = mShare.getString("CO臨界值", "");
EtTemp.setText(temp1);
EtTemp2.setText(temp2);
EtShidu.setText(shidu1);
EtShidu2.setText(shidu2);
EtLight.setText(light);
EtCo.setText(co);
Toast.makeText(MainActivity.this,"讀取成功", Toast.LENGTH_SHORT).show();
}
});
綜上可見,Android的SharedPreferences類和Java中的文件的輸入輸出流有著異曲同工之妙,可對照學習。