Android數據存儲方案--SharedPreferences存儲

SharedPreferences是Android編程獨有的一種文件存儲方式,十分便利,操作友好。其工作原理是在/data/data/com.xxx.test/shared_prefs目錄下面生成一個xml檔案,以便數據讀寫。

不過,需要注意的是,官方目前推薦“只有相同user ID的process才能訪問這個xml檔案”,基本是就是“只允許程序自身對其讀寫”,這個xml的權限爲“660” (-rw-rw----)。官方推薦默認屬性“MODE_PRIVATE”, 其他如 MODE_WORLD_READABLE/MODE_WORLD_WRITEABLE/MODE_MULTI_PROCESS,官方均不推薦使用。

對SharedPreferences操作也十分方便,下面分別看看寫/讀SharedPreferences的代碼。

1. SharedPreferences寫入

分爲3步,

1.1 調用SharedPreferences.Editor()方法,

1.2 向SharedPreferences.Editor()寫入數據,如putBoolean()寫入布爾類型,putString()寫入字符串類型,其他還有方法putStringSet()/putInt()/putLong()/putFloat()等,

1.3 調用commit()或者apply()寫入磁盤空間。

示例代碼如下,

SharedPreferences pref = getSharedPreferences("start", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("isAutoStart", false);
editor.putInt("autoStartWaitTime", 5);
editor.putBoolean("isConfirmRestart", false);
editor.commit();

生成的xml如下,

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <int name="autoStartWaitTime" value="5" />
    <boolean name="isConfirmRestart" value="false" />
    <boolean name="isAutoStart" value="false" />
</map>

2. SharedPreferences讀出

SharedPreferences讀出則更簡單寫,首先初始化SharedPreferences對象,然後呼叫一系列的get方法,如getBoolean()/getInt()等。

示例代碼如下,

SharedPreferences pref = getSharedPreferences("start", MODE_PRIVATE);
boolean isAutoStart = pref.getBoolean("isAutoStart", false);
int autoStartWaitTime = pref.getInt("autoStartWaitTime", 0);
boolean isConfirmRestart = pref.getBoolean("isConfirmRestart", false);
Log.d(TAG, "isAutoStart is " + isAutoStart);
Log.d(TAG, "autoStartWaitTime is " + autoStartWaitTime);
Log.d(TAG, "isConfirmRestart is " + isConfirmRestart);

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章