获取ShardPreferences的方法
1. Context 类中的 getSharedPreferences()方法:
2. Activity 类中的 getPreferences()方法:
3. PreferenceManager 类中的 getDefaultSharedPreferences()方法:
SharedPreferences的使用
1.写入数据:
//步骤1:创建一个SharedPreferences对象
SharedPreferences sharedPreferences= getSharedPreferences("data",Context.MODE_PRIVATE);
//步骤2: 实例化SharedPreferences.Editor对象
SharedPreferences.Editor editor = sharedPreferences.edit();
//步骤3:将获取过来的值放入文件
editor.putString("name", “Tom”);
editor.putInt("age", 28);
editor.putBoolean("marrid",false);
//步骤4:提交
editor.commit();
2.读取数据:
SharedPreferences sharedPreferences= getSharedPreferences("data", Context .MODE_PRIVATE);
String userId=sharedPreferences.getString("name","");
3.删除指定数据
editor.remove("name");
editor.commit();
4.清空数据
editor.clear();
editor.commit();
如果在 Fragment 中使用SharedPreferences 时,需要放在onAttach(Activity activity)里面进行SharedPreferences的初始化,否则会报空指针
读写其他应用的SharedPreferences
1. 在创建SharedPreferences时,指定MODE_WORLD_READABLE模式,表明该SharedPreferences数据可以被其他程序读取;
2. 创建其他应用程序对应的Context;
3. 使用其他程序的Context获取对应的SharedPreferences;
4. 如果是写入数据,使用Editor接口即可,所有其他操作均和前面一致;
try {
//这里的com.example.mpreferences 就是应用的包名
Context mcontext = createPackageContext("com.example.mpreferences", CONTEXT_IGNORE_SECURITY);
SharedPreferences msharedpreferences = mcontext.getSharedPreferences("name_preference", MODE_PRIVATE);
int count = msharedpreferences.getInt("count", 0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}