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>

 

 

 

 

版权声明:本文为sishuiliuyun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/sishuiliuyun/archive/2012/10/22/2733630.html