Android資料存放區方式--SharedPreferences,sharedpreferences

來源:互聯網
上載者:User

Android資料存放區方式--SharedPreferences,sharedpreferences

Android資料存放區方式有如下四種:SharedPreferences、儲存到檔案、SQLite資料庫、內容提供者(Content provider)、儲存到網路伺服器。

本文主要介紹一下SharedPreferences

本文地址:http://www.cnblogs.com/wuyudong/p/5939872.html,轉載請註明出處。

SharedPreferences

如何儲存軟體配置參數?

Window: 採用ini檔案進行

J2SE應用: 採用properties屬性檔案

Android平台:提供一個SharedPreferences類,它是一個輕量級的儲存類,適合用於儲存軟體配置參數。

使用SharedPreferences儲存資料,其背後是用xml檔案存放資料,檔案存放在/data/data/<packagename>/shared_prefs目錄下

SharedPreferences介面

SharedPreferences介面主要負責讀取應用程式的Preferences資料,它提供了如下常用方法來訪問SharedPreferences的key_value索引值對

方法名稱 描述
public abstract boolean contains (String key) 判斷SharedPreferences是否包含特定key的資料
public abstract SharedPreferences.Editor edit () 返回一個Edit對象用於操作SharedPreferences
public abstract Map<String, ?> getAll () 擷取SharedPreferences資料裡全部的key-value對
getXXX(String key,XXX defvlaue) 擷取SharedPreferences資料指定key所對應的value,如果該key不存在,返回預設值defValue。其中XXX可以是boolean、float、int、long、String等基本類型的值

Editor介面

由於SharedPreference是一個介面,而且在這個介面裡並沒有提供寫入資料和讀取資料的能力。但是在其內部有一個Editor內部的介面,Edit這個介面有一系列的方法用於操作SharedPreference。

方法名稱 描述
public abstract SharedPreferences.Editor clear () 清空SharedPreferences裡所有的資料
public abstract boolean commit () 當Editor編輯完成後,調用該方法可以提交修改,而且必須要調用這個資料才修改
public abstract SharedPreferences.Editor putXXX (String key, boolean XXX) 向SharedPreferences存入指定的key對應的資料,其中XXX可以是boolean、float、int、long、String等基本類型的值
public abstract SharedPreferences.Editor remove (String key) 刪除SharedPreferences裡指定key對應的資料項目

SharedPreferences儲存資料

SharedPreferences sharedPreferences = getSharedPreferences("wyd001", Context.MODE_PRIVATE);Editor editor = sharedPreferences.edit();//擷取編輯器editor.putString("name", "wyd");editor.putInt("age", 22);editor.commit();//提交修改

產生的wyd001.xml檔案內容如下:

<?xml version=“1.0” encoding=“utf-8” standalone=“yes” ?><map>    <string name="name">wyd</string>    <int name="age" value=“22" /></map>

SharedPreferences操作模式

getSharedPreferences(na, memode)方法

參數1:指定該檔案名稱,名稱不用帶尾碼。

參數2:指定檔案的操作模式,共有四種操作模式。

Context.MODE_PRIVATE為預設操作模式,代表該檔案是私人資料,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原檔案的內容,如果想把新寫入的內容追加到原檔案中。可以使用Context.MODE_APPEND

Context.MODE_APPEND模式會檢查檔案是否存在,存在就往檔案追加內容,否則就建立新檔案。

Context.MODE_WORLD_READABLEContext.MODE_WORLD_WRITEABLE用來控制其他應用是否有許可權讀寫該檔案。

MODE_WORLD_READABLE表示當前檔案可以被其他應用讀取MODE_WORLD_WRITEABLE表示當前檔案可以被其他應用寫入。

getPreferences(mode)方法操作SharedPreferences,這個方法預設使用當前類不帶包名的類名作為檔案的名稱。

訪問SharedPreferences資料

訪問SharedPreferences中的資料代碼如下:

SharedPreferences sharedPreferences = getSharedPreferences("wyd001", Context.MODE_PRIVATE);//getString()第二個參數為預設值,如果preference中不存在該key,將返回預設值String name = sharedPreferences.getString("name", "");int age = sharedPreferences.getInt("age", 1);

 

相關文章

聯繫我們

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