getSharedPreferences 与 getPreferences 与getDefaultSharedPreferences的区别
getSharedPreferences 与 getPreferences 的区别。
getSharedPreferences 是Context类中的方法, 可以指定file name 以及 mode。
getPreferences 是Activity类中的方法,只需指定mode
而 getSharedPreferences 与getDefaultSharedPreferences的区别
自定义的一些偏好设置用getSharedPreferences来获取,例如定义一个loginpref.xml的偏好文件
使用
SharedPreferences sharedPreferences = getSharedPreferences("loginpref", Context.MODE_PRIVATE);
System.out.println("set_location = "+sharedPreferences.getBoolean("islogin", false));
Editor editor = sharedPreferences.edit();
editor.putBoolean("islogin", false);
editor.commit();
来获取或者更改
每个应用有一个默认的偏好文件preferences.xml,使用getDefaultSharedPreferences获取
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
System.out.println("set_location = "+preferences.getBoolean("if_set_location", false));
Editor editor = preferences.edit();
editor.putBoolean("if_set_location", false);
editor.commit();
"if_set_location"可能对应的是CheckBoxPreference或者其它,但是通用get***来获取值
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="位置信息设置">
<CheckBoxPreference
android:key="set_location"
android:title="打开或关闭位置信息"
android:summary="更改您的位置设置,打开或者关闭位置共享"
android:defaultValue="true"
/>
<Preference
android:key="set_sys_location"
android:title="系统位置功能设置"
android:summary="点击到系统设置页面打开或关闭GPS位置功能"
/>
</PreferenceCategory>
</PreferenceScreen>