可以用SharedPreferences API儲存索引值對,並且提供了簡單的存取方法,還可以控制SharedPreferences檔案的存取權限。 下面介紹SharedPreferences API的使用方法。 得到一個SharedPreferences對象用以下方法得到或建立一個SharedPreferences檔案對象 getSharedPreferences() — Use this if you need multiple shared preference files identified by name, which you specify with the first parameter. You can call this from anyContext in your app.getPreferences() — Use this from an Activity if you need to use only one shared preference file for the activity. Because this retrieves a default shared preference file that belongs to the activity, you don't need to supply a name.例如,下面代碼在一個Fragment中執行,得到一個由R.string.preference_file_key資源標誌的SharedPreferences檔案,並用private模式開啟,表示只能在你自己的app中訪問這個檔案 [java] Context context = getActivity(); SharedPreferences sharedPref = context.getSharedPreferences( getString(R.string.preference_file_key), Context.MODE_PRIVATE); 命名SharedPreference檔案時最好用app範圍內唯一的名字,像com.example.myapp.PREFERENCE_FILE_KEY 另外,getPreferences()可以得到一個僅屬於當前activity的SharedPreference檔案 [java] SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 如果以MODE_WORLD_READABLE 或者 MODE_WORLD_WRITEABLE開啟,那麼其他的app也可以訪問資料 寫入 Shared Preferences檔案 要寫入,先通過edit()建立一個SharedPreferences.Editor對象 通過putInt(), putString()等方法放入資料,調用commit()儲存改變,例如 [java] SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPref.edit(); editor.putInt(getString(R.string.saved_high_score), newHighScore); editor.commit(); 從 Shared Preferences檔案讀取 要從檔案中讀取資料,可以調用getInt(),getString()等方法,例如: [java] SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); long defaultVal = getResources().getInteger(R.string.saved_high_score_default)); long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultVal); 第二個參數表示如果提供的鍵不存在時採用的預設值。