美文网首页
Android SharedPreference的使用

Android SharedPreference的使用

作者: 无敌未央様 | 来源:发表于2019-04-25 17:45 被阅读0次

    创建

    第一个参数是储存的xml文件名称,第二个是打开方式,一般就用Context.MODE_PRIVATE。

    SharedPreferences sp=context.getSharedPreferences("名称", Context.MODE_PRIVATE);
    

    写入

    //可以创建一个新的SharedPreference来对储存的文件进行操作
    SharedPreferences sp=context.getSharedPreferences("名称", Context.MODE_PRIVATE);
    //像SharedPreference中写入数据需要使用Editor
    SharedPreference.Editor editor = sp.edit();
    //类似键值对
    editor.putString("name", "string");
    editor.putInt("age", 0);
    editor.putBoolean("read", true);
    //editor.apply();
    editor.commit();
    

    提示:
    (1)apply和commit都是提交保存,区别在于apply是异步执行的,不需要等待。不论删除,修改,增加都必须调用apply或者commit提交保存。
    (2)关于更新:如果已经插入的key已经存在。那么将更新原来的key。
    (3)应用程序一旦卸载,SharedPreference也会被删除。

    读取

    SharedPreference sp=context.getSharedPreferences("名称", Context.MODE_PRIVATE);
    //第一个参数是键名,第二个是默认值
    String name=sp.getString("name", "暂无");
    int age=sp.getInt("age", 0);
    boolean read=sp.getBoolean("isRead", false);
    

    检索

    SharedPreferences sp=context.getSharedPreferences("名称", Context.MODE_PRIVATE);
    //检查当前键是否存在
    boolean isContains=sp.contains("key");
    
    //使用getAll可以返回所有可用的键值
    //Map<String,?> allMaps=sp.getAll();
    

    删除

    当我们要清除SharedPreferences中的数据的时候一定要先clear()、再commit(),不能直接删除xml文件,一定要注意!!!

    SharedPreference sp=getSharedPreferences("名称", Context.MODE_PRIVATE);
    SharedPrefence.Editor editor=sp.edit();
    editor.clear();
    editor.commit();
    

    1、getSharedPreference() 不会生成文件,这个大家都知道;
    2、删除掉文件后,再次执行commit(),删除的文件会重生,重生文件的数据和删除之前的数据相同;
    3、删除掉文件后,程序在没有完全退出停止运行的情况下,Preferences对象所存储的内容是不变的,虽然文件没有了,但数据依然存在;程序完全退出停止之后,数据才会丢失;
    4、清除SharedPreferences数据一定要执行editor.clear(),editor.commit(),不能只是简单的删除文件,这也就是最后的结论,需要注意的地方。

    相关文章

      网友评论

          本文标题:Android SharedPreference的使用

          本文链接:https://www.haomeiwen.com/subject/bqozgqtx.html