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