Android 資料存放區 SharedPreferences

來源:互聯網
上載者:User

SharedPreferences是以索引值對來儲存應用程式的配置資訊的一種方式,它只能儲存基礎資料型別 (Elementary Data Type)。一個程式的設定檔僅可以在本應用程式中使用,或者說只能在同一個包內使用,不能在不同的包之間使用。 實際上SharedPreferences是採用了XML格式將資料存放區到裝置中,在DDMS中的File Explorer中的/data/data/<package name>/shares_prefs下。

以下表格為擷取SharedPreferences對象的兩個方法:

傳回值

函數

備忘

SharedPreferences

Context.getSharedPreferences(String name,int mode)

name為本組件的設定檔名(如果想要與本應用程式的其他組件共用此設定檔,可以用這個名字來檢索到這個設定檔)。

mode為操作模式,預設的模式為0或MODE_PRIVATE,還可以使用MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。

SharedPreferences

Activity.getPreferences(int mode)

設定檔僅可以被調用的Activity使用。

mode為操作模式,預設的模式為0或MODE_PRIVATE,還可以使用MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。

如果要讀取設定檔資訊,只需要直接使用SharedPreferences對象的getXXX()方法即可,而如果要寫入配置資訊,則必須先調用SharedPreferences對象的edit()方法,使其處於可編輯狀態,然後再調用putXXX()方法寫入配置資訊,最後調用commit()方法提交更改後的設定檔。

以下是範例程式碼:

import android.app.Activity; </p><p>import android.content.SharedPreferences; </p><p>public class Calc extends Activity { </p><p>public static final String PREFS_NAME = "MyPrefsFile"; </p><p>. . . </p><p>@Override </p><p>protected void onCreate(Bundle state){ </p><p>super.onCreate(state); </p><p>. . . </p><p>//載入設定檔 </p><p>SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); </p><p>//或者使用 SharedPreferences settings = getPreferences(0); </p><p>boolean silent = settings.getBoolean("silentMode", false); </p><p>setSilent(silent); </p><p>} </p><p>@Override </p><p>protected void onStop(){ </p><p>super.onStop(); </p><p>//寫入設定檔。可以使用SharedPreferences.Editor來輔助解決。 </p><p>SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); </p><p>SharedPreferences.Editor editor = settings.edit(); </p><p>editor.putBoolean("silentMode", mSilentMode); </p><p>editor.commit(); //一定要記得提交 </p><p>//或者再簡單化一可以這樣寫 </p><p>SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); </p><p>setting.edit().putBoolean(“silentMode”,mSilentMode).commit(); </p><p>} </p><p>}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.