• Android SharedPreferences增,删,查操作


    SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出。
    SharedPreferences提供了java常规的Long、Int、String等类型数据的保存接口。 [1]  SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问。
    提示最终是以xml方式来保存,整体效率来看不是特别的高,对于常规的轻量级而言比SQLite要好不少,如果真的存储量不大可以考虑自己定义文件格式。xml处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好。
     
    四种操作模式
    SharedPreferences数据的四种操作模式
    • Context.MODE_PRIVATE
    • Context.MODE_APPEND
    • Context.MODE_WORLD_READABLE
    • Context.MODE_WORLD_WRITEABLE
    Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
    Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
    Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.
    MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
    MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入
    特别注意:出于安全性的考虑,MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE 在Android 4.2版本中已经被弃用
     
    数据存储代码:
      SharedPreferences sharedPreferences = getSharedPreferences("userInfo", Context.MODE_PRIVATE);
            SharedPreferences.Editor editor = sharedPreferences.edit();//获取编辑器
            editor.putString("token", "123456");
            editor.putString("phone", phone);
            editor.putString("yzm", yzm);
            editor.commit();//提交修改
    获取信息:
     SharedPreferences preferences = getSharedPreferences("userInfo",
                    Activity.MODE_PRIVATE);
            String phone = preferences.getString("phone", "");
            String yzm = preferences.getString("yzm", "");
            String token = preferences.getString("token", "");
    
            Log.e("userInfo", "userInfo:phone:" + phone + "yzm:" + yzm + "token:" + token);
    清除信息:
     SharedPreferences preferences = context.getSharedPreferences("userInfo", Context.MODE_PRIVATE);
            SharedPreferences.Editor editor = preferences.edit();
            editor.clear();
            editor.commit();

    注意:如果在 Fragment 中使用SharedPreferences 时,需要放在onAttach(Activity activity)里面进行SharedPreferences 的初始化,否则会报空指针 即 getActivity()会可能返回null !

  • 相关阅读:
    C#(99):Queue<T>队列与Stack<T>堆栈
    C#(99):字典Dictionary<Tkey.TValue>与SortedList
    C#(99):列表:List<T>与HashSet和只读集合
    C#(99):C#数组Array
    C#(99):枚举类型与位域枚举Enum
    C#(99):结构类型:Struct
    C#(99):定义类成员(属性、方法、索引、运算符、事件)、接口实现
    C#(99):定义类、System.Object对象、构造函数与析构函数、抽象类与静态类
    SuperSocket.ClientEngine介绍
    C#(99):五、并行编程
  • 原文地址:https://www.cnblogs.com/dingxiansen/p/8659773.html
Copyright © 2020-2023  润新知