Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Developers:保存鍵-值對

Android Developers:保存鍵-值對

編輯:關於Android編程

如果你有一個相對小的鍵值對集合需要保存,你應該使用SharedPreferences APIs。一個SharedPreferences對象指向一個包含鍵值對的文件,並提供簡單的方法來讀和寫它們。每個SharedPreferences文件通過框架被管理,並可以私有化或者被共享.    這節課程向你展示了如何使用SharedPreferences API保存和獲取簡單的值.    注意:SharedPreferences APIs僅僅用於讀取和寫入鍵-值對,並且你不應該把它和Preference API混淆,它幫助你為你的應用程序構建一個用戶設置界面(盡管它們使用SharedPreferences實現應用程序設置的保存).更多關於使用Preference APIs的實現,請查閱Setting指南.    獲取一個SharedPreferences句柄  —————————————————————————————————————————————————————————————————  通過調用下面兩個方法之一,你能創建一個新的共享參數文件,或這訪問一個已經存在的。  getSharedPreferences() - 如果你需要多個通過名字標識的共享參數文件,使用這個方法,你使用第一個參數指定名字。你能在你應用中的任何Context調用它.  getPreference() - 如果你僅僅需要這個Activity的一個共享參數文件,在這個Activity中使用這個方法。因為它返回一個默認的共享參數文件,它屬於這個Activity,你不需要提供一個名字。    例如,下面的代碼是在一個Fragment中被執行。它訪問了通過字符串資源R.string.preference_file_key識別的共享參數文件,並且使用私有模式打開它,所以文件僅僅允許你的應用程序訪問.  [java]  Context context = getActivity();    SharedPreferences sharedPref = context.getSharedPreferences(            getString(R.string.preference_file_key), Context.MODE_PRIVATE);    當命名你的共享參數文件的時候,你應該使用一個在你的應用中唯一標識,如”com.example.myapp.PREFERENCE_FILE_KEY”.    另外,如果你僅僅需要你的Activity的一個共享參數文件,你能使用getPreferences()方法:  [java]   SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);    寫入Shared Preferences  ——————————————————————————————————————————————  為了寫一個共享參數文件,通過調用一個SharedPreferences的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  ——————————————————————————————————————————————  為了從一個shared preferences文件中獲取一個值,調用如getInt()方法和getString()方法,提供你想要的鍵的值,並且如果鍵不存在,選擇返回一個默認的值。例如:  [java]   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);     
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved