編輯:關於Android編程
如果您有想要保存的相對較小鍵值集合,您應使用 SharedPreferences API。SharedPreferences 對象指向包含鍵值對的文件並提供讀寫這些文件的簡單方法。 每個 SharedPreferences 文件由框架進行管理並且可以專用或共享。
注:SharedPreferences API 僅用於讀寫鍵值對,您不得將其與 Preference API 混淆,後者幫助您為您的應用設置構建用戶界面(盡管它們使用 SharedPreferences 作為其實現以保存應用設置)。
您可以通過調用以下兩種方法之一創建新的共享首選項文件或訪問現有的文件:
1.getSharedPreferences() — 如果您需要按照您用第一個參數指定的名稱識別的多個共享首選項文件,請使用此方法。 您可以從您的應用中的任何 Context 調用此方法。
2.getPreferences() — 如果您只需使用 Activity 的一個共享首選項,請從 Activity 中使用此方法。 因為此方法會檢索屬於該 Activity 的默認共享首選項文件,您無需提供名稱。
以下代碼在 Fragment 內執行。它訪問通過資源字符串 R.string.preference_file_key 識別的共享首選項文件並且使用專用模式打開它,從而僅允許您的應用訪問文件。
Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(
getString(R.string.preference_file_key), Context.MODE_PRIVATE);
“com.example.myapp.PREFERENCE_FILE_KEY”
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
注意:如果您創建帶 MODE_WORLD_READABLE 或 MODE_WORLD_WRITEABLE 的共享首選項文件,那麼知道文件標識符的任何其他應用都可以訪問您的數據。
1.要寫入共享首選項文件,請通過對您的 SharedPreferences 調用 edit() 來創建一個 SharedPreferences.Editor。
2.傳遞您想要使用諸如 putInt() 和 putString() 方法寫入的鍵和值。然後,調用 commit() 以保存所做的更改。例如:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPref.edit(); editor.putInt(getString(R.string.saved_high_score), newHighScore); editor.commit();
要從共享首選項文件中檢索值,請調用諸如 getInt() 和 getString() 等方法,為您想要的值提供鍵,並根據需要提供要在鍵不存在的情況下返回的默認值。例如:
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);
這裡我們使用9patch制作一個背景,找到SDK目錄下的tools目錄,雙擊draw9patch.bat文件,如下圖: @drawable/backgr
英文原文:Probably be the best way (?) to save/restore Android Fragment’s state so f
在Android的源代碼中,經常會看到形如:sp<xxx>、wp<xxx>這樣的類型定義,這其實是Android中的智能 指針。智能
Service既不是進程也不是線程,它們之間的關系如下:可能有的朋友會問了,既然是長耗時的操作,那麼Thread也可以完成啊。沒錯,在程序裡面很多耗時工作我們也可以通過T