Android資料儲存之一——儲存Key-Values對

來源:互聯網
上載者:User

可以用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);    第二個參數表示如果提供的鍵不存在時採用的預設值。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.