zoukankan      html  css  js  c++  java
  • 3.1 SharePreference

      SharePreferences是用来存储一些简单配置信息的一种机制,使用Map数据结构来存储数据,以键值对的方式存储,采用了XML格式将数据存储到设备中,路径为:/data/data/<package name>/shared_prefs。

    只能在同一个包内使用,不能在不同的包之间使用

    实现SharedPreferences存储的步骤如下:

    1、根据Context获取SharedPreferences对象:

      SharedPreferences sp = getSharedPreferences(FileName, Activity.MODE_PRIVATE); 

    2、利用edit()方法获取Editor对象:

      Editor editor = sp.edit();

    3、通过Editor对象操作key-value键值对数据:

    插入数据:调用Editor.putxxxx方法,两个参数分别为键和值。

    获取数据:调用Editor.getxxxx方法,两个参数分别为键和不存在指定键时的默认值。

    删除数据:调用Editor.remove方法,参数为指定的键。

    清空所有数据:调用Editor.clear方法

    4、通过commit()方法提交数据:

      上述所有方法调用都必须执行Editor.commit方法来提交。

    获取SharedPreferences的三种方式:

    • getSharedPreferences(name, mode):是Context类中的方法,可被同一应用程序下的其他组件共享
    • getPreferences():是Activity类中的方法,只需指定mode,只能在该Activity中使用.
    • getDefaultSharedPreferences():是PreferenceManager类中方法,存储每个应用的默认偏好设置

    SharedPreferences的四种操作模式:

    • Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问
    • Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件
    • Context.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
    • Context.MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入.

    例子:将数据保存至SharedPreferences:

    SharedPreferences preferences = getSharedPreferences("user",Context.MODE_PRIVATE);
    Editor editor=preferences.edit();
    String name="xixi";
    String age="22";
    editor.putString("name", name);
    editor.putString("age", age);
    editor.commit();

    例子:从SharedPreferences获取数据:

    SharedPreferences preferences=getSharedPreferences("user", Context.MODE_PRIVATE);
    String name = preferences.getString("name", "defaultname");
    String age=preferences.getString("age", "0");

    重要方法

    • public abstract boolean contains (String key) :检查是否已存在该文件,其中key是xml的文件名。
    • edit():为preferences创建一个编辑器Editor,可以修改preferences里面的数据,但必须执行commit()方法。
    • getAll():返回preferences里面的多有数据。
    • getXxx(String key, boolean defValue):获取Xxx(Boolean/Float/Int/Long/String)型数据
    • registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener):注册一个当preference发生改变时被调用的回调函数。
    • unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener):删除当前回调函数。

    一般都是创建一个单独的文件(implements SharedPreferences)来统一处理。

  • 相关阅读:
    构建调试Linux内核网络代码的环境MenuOS系统
    关于iOS开发证书的一些总结(很有用)
    iOS原型模式
    iOS不用调用,running time自动执行方法
    关于网络设计服务结构的一些理解
    iOS 6.0之后支持一个页面横屏的方法
    iOS返回一个前面没有0,小数点后保留两位的数字字符串
    CoreData总结
    分享一个复用代码块的博客
    分享一个可以打开沙盒的软件
  • 原文地址:https://www.cnblogs.com/keyarchen/p/6061209.html
Copyright © 2011-2022 走看看