Android — 使用 SharedPreferences 本地保存 key-value 数据
如何獲取 SharedPreferences
獲取 SharedPreferences 有 2 種方式,第一種以名稱為索引,第二種以 Activity 為索引。
1. getSharedPreferences()
用于滿足以下三種需求:需要多個 SharedPreferences 對象、希望 SharedPreferences 以名稱來索引、需要多個 Activity 共用 SharedPreferences,示例代碼如下:
Context context = getActivity(); SharedPreferences sharedPref = context.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE);其中, Context 可以為任意類型,并不是必須為 Activity 的 Context。
2. getPreferences()
如果一個 Activity 只需要一個 SharedPreferences 對象,那么可以直接調(diào)用這個方法,不需要提供名稱,這樣的 SharedPreferences 以 Activity 為索引。
示例代碼如下:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);如果希望該 SharedPreferences 對象可以被其他任何 app 訪問,可以用 MODE_WORLD_READABLE 或 MODE_WORLD_WRITEABLE 來創(chuàng)建 SharedPreferences 文件。
如何寫 SharedPreferences
通過 sharedPref.edit() 方法得到 editor 后,可以用 putInt() 等方法來寫入數(shù)據(jù),并通過 commit() 方法來提交,示例代碼如下:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPref.edit(); editor.putInt(getString(R.string.saved_high_score), newHighScore); editor.commit();commit()是立即執(zhí)行的,如果采用 apply() 方法則會在空閑時執(zhí)行,有利于提高 app 的流暢度。
如何讀SharedPreferences
讀 SharedPreferences 與寫相對應(yīng),示例代碼如下:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); int defaultValue = getResources().getInteger(R.string.saved_high_score_default); long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);via Android SharedPreference
總結(jié)
以上是生活随笔為你收集整理的Android — 使用 SharedPreferences 本地保存 key-value 数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU 1215 七夕节 数论
- 下一篇: First Night