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

  • 相关阅读:
    HDU 5528 Count a * b 欧拉函数
    HDU 5534 Partial Tree 完全背包
    HDU 5536 Chip Factory Trie
    HDU 5510 Bazinga KMP
    HDU 4821 String 字符串哈希
    HDU 4814 Golden Radio Base 模拟
    LA 6538 Dinner Coming Soon DP
    HDU 4781 Assignment For Princess 构造
    LA 7056 Colorful Toy Polya定理
    LA 6540 Fibonacci Tree
  • 原文地址:https://www.cnblogs.com/dingxiansen/p/8659773.html
Copyright © 2011-2022 走看看