SharedPreferences簡介
在Android開發(fā)過程中旱函,有時候我們需要保存一些簡單的軟件配置等簡單數(shù)據(jù)的信息批钠,而如果我們直接用數(shù)據(jù)庫存儲的話又不太方便前计,在這里我們就可以用到SharedPreferences潜秋,SharedPreferences保存的數(shù)據(jù)主要是類似于配置信息格式的數(shù)據(jù)曲掰,因此保存的數(shù)據(jù)主要是簡單類型的鍵值對(key-value),它保存的是一個XML文件疾捍。
SharedPreferences常用的屬性和方法
方法名稱
描述
public abstract boolean contains (String key)
判斷SharedPreferences是否包含特定key的數(shù)據(jù)
public abstract SharedPreferences.Editor edit ()
返回一個Edit對象用于操作SharedPreferences
public abstract Map getAll ()
獲取SharedPreferences數(shù)據(jù)里全部的key-value對
getXXX(String key,XXX defvlaue)
獲取SharedPreferences數(shù)據(jù)指定key所對應(yīng)的value,如果該key不存在栏妖,返回默認(rèn)值defValue乱豆。其中XXX可以是boolean、float吊趾、int宛裕、long、String等基本類型的值
由于SharedPreference是一個接口论泛,而且在這個接口里并沒有提供寫入數(shù)據(jù)和讀取數(shù)據(jù)的能力揩尸。但是在其內(nèi)部有一個Editor內(nèi)部的接口,Edit這個接口有一系列的方法用于操作SharedPreference屁奏。
Editor接口的常用方法
方法名稱
描述
public abstract SharedPreferences.Editor clear ()
清空SharedPreferences里所有的數(shù)據(jù)
public abstract boolean commit ()
當(dāng)Editor編輯完成后疲酌,調(diào)用該方法可以提交修改,而且必須要調(diào)用這個數(shù)據(jù)才修改
public abstract SharedPreferences.Editor putXXX (String key, boolean XXX)
向SharedPreferences存入指定的key對應(yīng)的數(shù)據(jù)了袁,其中XXX可以是boolean朗恳、float、int载绿、long粥诫、String等基本類型的值
public abstract SharedPreferences.Editor remove (String key)
刪除SharedPreferences里指定key對應(yīng)的數(shù)據(jù)項(xiàng)
SharedPreferences是一個接口,程序是無法創(chuàng)建SharedPreferences實(shí)例的崭庸,可以通過Context.getSharedPreferences(String name.int mode)來得到一個SharedPreferences實(shí)例
name:是指文件名稱怀浆,不需要加后綴.xml,系統(tǒng)會自動為我們添加上怕享。一般這個文件存儲在/data/data//shared_prefs下(這個面試常問到)
mode:是指定讀寫方式执赡,其值有三種,分別為:
Context.MODE_PRIVATE:指定該SharedPreferences數(shù)據(jù)只能被本應(yīng)用程序讀函筋、寫
Context.MODE_WORLD_READABLE:指定該SharedPreferences數(shù)據(jù)能被其他應(yīng)用程序讀沙合,但不能寫
Context.MODE_WORLD_WRITEABLE:指定該SharedPreferences數(shù)據(jù)能被其他應(yīng)用程序讀寫。