SharedPreference使用
一、介绍
SharedPreference是android数据存储的一种方式
是对一个key-value的存储
存储形式是xml
存储位置是data/data/package_naem/sf_name.xml
包:android.content.SharedPreferences
不支持跨多个进程使用
二、实例化方法
SharedPreference sp = getSharedPreference(“sf_name”, Activity.MODE_PRI_VATE);
三保存数据
SharedPreference.Editor editor = sp.edit();
editor.putString(“name”,”value);
editor.commit();
四、读取数据
String name = sf.getString(“name”, “default_value”);
五、SharedPreferencs数据四种操作模式
Context.MODE_PRIVATE为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
Context.MODE_APPEND模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
Context.MODE_WORLD_PEADABLE表示当前文件可以被其他应用读取
Context.MODE_WORLD_WRITEABLE表示当前文件可以被其他应用写入
六、SharedPreferencs get方法
getAll()
getBoolean(String key, boolean defValue)
getFloat(String key, float defValue)
getInt(String key, int defValue)
getLong(String key, long defValue)
getString(String key, String defValue)
getStringSet(String key, Set<String> defValue)
七、Editor put方法
putBoolean(String key, boolean value)
putFloat(String key, float value)
putInt(String key, int value)
putLong(String key, long value)
putString(String key, String value)
putStringSet(String key, Set<String> values)
八、SharedPreference跨应用使用(已经推荐使用了)
try {
String PACKAGE_NAME = "android.jun.androidwidgetstudy";
String SHAREDPREFERENCE_NAME = "";
String PREF_NAME = "";
Context c = createPackageContext(PACKAGE_NAME, Context.CONTEXT_IGNORE_SECURITY);
SharedPreferences sp = c.getSharedPreferences(SHAREDPREFERENCE_NAME,Context .MODE_WORLD_READABLE); //or Context .MODE_WORLD_WRITEABLE
sp.getString(PREF_NAME, "");
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}