zoukankan      html  css  js  c++  java
  • 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>

     

     

     

  • 相关阅读:
    Python-炫酷二维码
    Dictionary 序列化与反序列化
    获取数据库所有表名与字段名
    LinQ To Object 基本用法
    使用jq操作脚本生成元素的事件
    表单验证如何让select设置为必选
    js实现复制功能兼容ios
    微信小程序使用函数防抖解决重复点击消耗性能问题
    electronr进行签名与公证
    使用electron在mac升级签名后进行升级出现“QRLUpdaterErrorDomain”的错误
  • 原文地址:https://www.cnblogs.com/sishuiliuyun/p/2733630.html
Copyright © 2011-2022 走看看