1. 程式人生 > >Android-SharedPreferences

Android-SharedPreferences

簡稱Sp,是一種輕量級的資料儲存方式,採用key/value的方式進行對映,最終會在手機的/data/data/package_name/shared_prefs/目錄下以xml的格式存在。Sp通常用於記錄一些引數配置、行為標記等。但是不要使用Sp去儲存大的資料和檔案,否則會大大影響應用效能,甚至出現ANR(Application Not Response)。

獲取Sp的方式

1、呼叫Context物件的getSharedPreferences()方法

2、呼叫Activity物件的getPreferences()方式

兩種方式的區別:

呼叫Context物件的getSharedPreferences()方法獲得的SharedPreferences物件可以被同一應用程式下的其他元件共享。

呼叫Activity物件的getPreferences()方法獲得的SharedPreferences物件只能在該Activity中使用。

Sp的四種操作模式

Context.MODE_PRIVATE

為預設操作模式,代表該檔案是私有資料,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原檔案的內容。

Context.MODE_APPEND

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

Context.MODE_WORLD_READABLE

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

Context.MODE_WORLD_WRITEABLE

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

SharedPreferences preferences=getSharedPreferences("user",Context.MODE_PRIVATE);
Editor editor=preferences.edit();
String name="xixi";
String age="22";
editor.putString("name", name);
editor.putString("age", age);
editor.commit();
 
從SharedPreferences獲取資料:
SharedPreferences preferences=getSharedPreferences("user", Context.MODE_PRIVATE);
String name=preferences.getString("name", "defaultname");
String age=preferences.getString("age", "0");