Android開發之SharedPreferences

1、使用SharedPreferences進行數據存儲編輯器

Android平臺給咱們提供了一個SharedPreferences類,它是一個輕量級的存儲類,特別適合用於保存軟件配置參數。使用SharedPreferences保存數據,其背後是用xml文件存放數據,文件存放在/data/data/<package name>/shared_prefs目錄下。spa

使用SharedPreferences保存一個文件並寫入內容以下:xml

SharedPreferences sharedPreferences = getSharedPreferences("test", Context.MODE_PRIVATE);utf-8

Editor editor = sharedPreferences.edit();//獲取編輯器get

editor.putString("name", "姓名");string

editor.putInt("age", 4);it

editor.commit();//提交修改io

生成的test.xml文件內容以下:test

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>軟件

<map>

<string name="name">姓名</string>

<int name="age" value="4" />

</map>

2、訪問SharedPreferences中的數據

訪問SharedPreferences中的數據代碼以下:

SharedPreferences sharedPreferences = getSharedPreferences("test", Context.MODE_PRIVATE);

//getString()第二個參數爲缺省值,若是preference中不存在該key,將返回缺省值

String name = sharedPreferences.getString("name", "");

int age = sharedPreferences.getInt("age", 1);

若是訪問其餘應用中的Preference,前提條件是:

preference建立時指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE權限。

如:有個<package name>cn.test.action的應用使用下面語句建立了preference

getSharedPreferences("test", Context.MODE_WORLD_READABLE);

其餘應用要訪問上面應用的preference,首先須要建立上面應用的Context,而後經過Context 訪問preference ,訪問preference時會在應用所在包下的shared_prefs目錄找到preference

Context otherAppsContext =

createPackageContext("cn.test.action",Context.CONTEXT_IGNORE_SECURITY);

 

SharedPreferences sharedPreferences =

otherAppsContext.getSharedPreferences("test", Context.MODE_WORLD_READABLE);

 

String name = sharedPreferences.getString("name", "");

int age = sharedPreferences.getInt("age", 0);

若是不經過建立Context訪問其餘應用的preference,也能夠以讀取xml文件方式直接訪問其餘應用preference對應的xml文件,如:

File xmlFile =

new File(「/data/data/<package name>/shared_prefs/test.xml」);

<package name>應替換成應用的包名

相關文章
相關標籤/搜索