Android 程式簡單資料的存取。
public class MainActivity extends Activity {
/********************************************
* 當有少量應用程式資料需要儲存的時候就可以用SharedPreferences來進行儲存。 SharedPreferences
* 适用于儲存類似于配置資訊格式的資料。主要是簡單的鍵值類型的key-valued對。
*
* 本示例展示了利用SharedPreferencs來進行存取資料。 使用步驟:
*
* 1.擷取SharedPreferences對象 getSharedPreferences("MyData",
* MODE_WORLD_READABLE);
*
* 2.擷取SharedPreference.Edit 對象 editor = sharedPreferences.edit();
*
* 3.輸入資料 字元串: editor.putString("time", sdf.format(new Date())); 整數:
* editor.putInt("random", (int) (Math.random()*100));
*
* 4.送出資料 editor.commit();
*
* 5.讀取資料 String timeString = sharedPreferences.getString("time", null); int
* randNum = sharedPreferences.getInt("random", 0);
*
* 注意:SharedPreference儲存的檔案位于/data/data/包名/shared_prefs下。
********************************************/
SharedPreferences sharedPreferences;
SharedPreferences.Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button readButton = (Button) findViewById(R.id.readButton);
Button writeButton = (Button) findViewById(R.id.writeButton);
// 擷取隻能被程式讀寫的SharedPreferences對象 如果不存在将被建立,這裡設定為可以被其他程式讀
sharedPreferences = getSharedPreferences("MyData", MODE_WORLD_READABLE);
editor = sharedPreferences.edit();
writeButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 "
+ "hh:mm:ss");
// 存入目前時間
editor.putString("time", sdf.format(new Date()));
editor.putInt("random", (int) (Math.random() * 100));
editor.commit();
}
});
readButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String timeString = sharedPreferences.getString("time", null);
int randNum = sharedPreferences.getInt("random", 0);
Toast.makeText(MainActivity.this,
"time: " + timeString + "\nrandNum: " + randNum,
Toast.LENGTH_SHORT).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}