天天看點

SharedPreferences的存儲位置和格式

//SharedPreferencesTest.java檔案
public class SharedPreferencesTest extends Activity{
  SharedPreferences preferences;
  SharedPreferences.Editor editor;
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    //擷取隻能被本程式讀寫的SharedPreferences對象
    preferences = getSharedPreferences("crazyit", MODE_WORLD_READABLE);
    editor = preferences.edit();
    Button readButton = (Button) findViewById(R.id.readbtn);
    Button writeButton = (Button) findViewById(R.id.writebtn);
    readButton.setOnClickListener(new OnClickListener() {
      
      @Override
      public void onClick(View arg0) {
        // TODO Auto-generated method stub
        //讀取字元串
        String time = preferences.getString("time", null);
        //讀取int類型的資料
        int randNum = preferences.getInt("random", 0);
        String result = time == null ? "您暫時未寫入資料" : "寫入時間為:" + time + "\n上次生成的随機數為:"
            + randNum;
        //使用Toast提示資訊
        Toast.makeText(SharedPreferencesTest.this, result, 5000).show();
      }
    });
    writeButton.setOnClickListener(new OnClickListener() {
      
      @Override
      public void onClick(View arg0) {
        // 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();
        Toast.makeText(SharedPreferencesTest.this, "已寫入檔案~!", 5000).show();
      }
    });
  }
}      

運作結果:

點選:write

SharedPreferences的存儲位置和格式

點選:read

SharedPreferences的存儲位置和格式

SharedPreferences資料儲存:/data/data/<package name>/shared_prefs

SharedPreferences的存儲位置和格式
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <int name="random" value="88" />
    <string name="time">2014年07月05日12:54:00</string>
</map>