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>應替換成應用的包名