• Android开发——保存用户设置


    保存用户设置有两种方法,分别是

    getSharedPreferences(prefName, MODE_PRIVATE);
    getPreferences(MODE_PRIVATE);
     
    他们的共同点在于都是把一些变量存入一个xml文件中,然后储存在设备里(具体来说在/data/
    data/<package_name>/shared_prefs文件夹),同时要注意,他们两个的定义都是SharedPreferences prefs;。
    他们的区别在于,SharedPreferences需要一个指定的名称,并且是全程序共享的,而Preferences不起名字,同时存储只能被当前的Activity调用。
    除此之外就没有其它差别了,所以以SharedPreferences为例就好了。
     
    首先需要实例化一个SharedPreferences:
    private SharedPreferences prefs;
    prefs = getSharedPreferences(prefName, MODE_PRIVATE);
     
    然后制造一个此实例的Editor:
    SharedPreferences.Editor editor = prefs.edit();
     
    存入数据的工作主要由这个Editor完成,方法是put。
    putString()
    putBoolean()
    putLong()
    putInt()
    putFloat()
     
    比如储存一个Float和一个String可以这样:
    private static final String FONT_SIZE_KEY = “fontsize”;
    private static final String TEXT_VALUE_KEY = “textvalue”;
    editor.putFloat(FONT_SIZE_KEY, editText.getTextSize());
    editor.putString(TEXT_VALUE_KEY, editText.getText().toString());
    然后一定要:
    !->editor.commit();<-!
    确认储存。
     
    读取数据不需要用到Editor,而是用SharedPreferences本身的get方法,比如:
    SharedPreferences prefs = getSharedPreferences(prefName, MODE_PRIVATE);
    float fontSize = prefs.getFloat(FONT_SIZE_KEY, 12);
     
     
    参考资料:
    《Beginning Android Application Development》
     
  • 相关阅读:
    由于版本依赖造成的YUM段错误
    CodeDom系列事件(event)定义和反射调用
    CodeSmith模板引擎系列二文件目录树
    F#初试打印目录文件树
    在IIS上SSL的部署和启动SSL安全
    CodeDom系列二程序基本结构符号三角形问题
    CodeDom系列目录
    CodeDom系列四Code生成
    CodeDom六实体类生成示例
    CodeDom系列五动态编译
  • 原文地址:https://www.cnblogs.com/libao/p/2753417.html
Copyright © 2020-2023  润新知