Android中SharedPreferences用法

來源:互聯網
上載者:User

1.SharedPreferences簡介

為了儲存軟體的設定參數,Android 平台為我們提供了一個SharedPreferences 類,它是一個輕量級的儲存類,特別適合用於儲存軟體配置參數。使用SharedPreferences 儲存資料,其背後是用xml檔案存放資料,檔案存放在/data/data/<package name>/shared_prefs 目錄下。

2.擷取SharedPreferences對象方法:

SharedPreferences pre = Context.getSharedPreferences(String name,int mode);

註:name為本組件的設定檔名(如果想要與本應用程式的其他組件共用此設定檔,可以用這個名字來檢索到這個設定檔,在這裡要特別注意,因為在Android 中已經確定了SharedPreferences 是以xml形式儲存,所以,在填寫檔案名稱參數時,不要給定“.xml”尾碼,android會自動添加。只要直接寫上檔案名稱即可。它會直接被儲存在/data/data/<package name>/shared_prefs路徑下,它是採用索引值對的形式儲存參數。當你需要獲得某個參數值時,按照參數的鍵索引即可)。

SharedPreferences pre = Activity.getPreferences(int mode);

註:設定檔僅可以被調用的Activity使用。mode為操作模式,預設的模式為0或MODE_PRIVATE,還可以使用MODE_APPEND、MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。

SharedPreferences pre = PreferenceManager.getDefaultSharedPreferences(Context);

註:每個應用都有一個預設的設定檔preferences.xml,使用getDefaultSharedPreferences擷取。

3.SharedPreferences使用步驟:

SharedPreferences使用非常簡單,能夠輕鬆地存放資料和讀取資料。SharedPreferences只能儲存簡單類型的資料,例如:String、int等。一般會將複雜類型的資料轉換成Base64編碼,然後將轉換後的資料以字串的形式儲存在XML檔案中,再用SharedPreferences儲存。

使用SharedPreferences儲存key-value對的步驟如下:

1)獲得SharedPreferences對象

2)獲得SharedPreferences.Editor對象。

3)通過SharedPreferences.Editor介面的putXxx()方法存放key-value對(其中Xxx表示不同的資料類型。如:字串類型的value需要用putString()方法)。

4)通過SharedPreferences.Editor介面的commit()方法儲存key-value對(commit方法相當於資料庫事務中的提交(commit)操作)。

4.儲存資料和讀取資料的流程:

儲存資料資訊

1)開啟名為configuration的設定檔,如果存在則開啟它,否則建立新的名為configuration的設定檔

SharedPreferences  sharedPreferences = getSharedPreferences("configuration", 0);

2)讓sharedPreferences處於編輯狀態

SharedPreferences.Editor  editor  =  sharedPreferences.edit();

3)存放資料

editor.putString("name","harvey");

4)完成提交

editor.commit();

讀取資料資訊

1)開啟名為configuration的設定檔

SharedPreferences  sharedPreferences = getSharedPreferences("configuration", 0);

2)擷取資料

String name = sharedPreferences.getString("name","預設值");

以上就是Android中SharedPreferences的使用方法,其中建立的設定檔存放位置可以在Eclipse中查看:

DDMS --- File Explorer --- data/data/<package name>/shared_prefs/configuration.xml

相關文章

聯繫我們

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