• android学习日记13--数据存储之SharedPreference


    android 数据存储
      作为一个完整的应用程序,数据存储必不可少。android 提供了五种不同的数据存储方式:SharedPreferences、SQLite、ContentProvider、文件存储、网络存储。

    1、SharedPreference
      用来存储简单的配置信息,如用户名/密码,以键值对的方式存储,存储位置在/data/data/<包名>/shared_prefs目录下
    SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。实现SharedPreferences存储的步骤如下:
    1、根据Context获取SharedPreferences对象
    2、利用edit()方法获取Editor对象。
    3、通过Editor对象存储key-value键值对数据。
    4、通过commit()方法提交数据。

    实例演示:

    Activity代码:

     1 Context ctx = MainActivity.this;
     2         
     3         // 获取SharedPreferences实例,第二个参数表示操作模式,这里的意思是覆盖原有的
     4         // 此外还有追加MODE_APPEND,允许其他程序读取MODE_WORLD_READABLE,允许其他程序读取写入MODE_WORLD_WRITEABLE
     5         SharedPreferences sp = ctx.getSharedPreferences("SP", MODE_PRIVATE);
     6         
     7         // 获取编辑对象
     8         Editor editor = sp.edit();
     9         
    10         // 存入数据
    11         editor.putInt("INT_VAULE", 20);        
    12         editor.putString("STRING_VAULE", "hahaha");
    13         editor.putBoolean("BOOLEAN_VAULE", true);
    14         
    15         // 根据key取出数据
    16         Log.v("SP", sp.getString("STRING_VAULE", "none"));
    17         
    18         // 输出int型要转成 string的
    19         Log.v("SP", sp.getInt("INT_VAULE", -1)+"");
    20         
    21         // 删除所有数据,没commit是没生效的
    22         editor.clear();
    23         
    24         
    25         // 找不到key输出第二个参数 false
    26         Log.v("SP", sp.getBoolean("BOOLEAN_VAULE22", false)+"");

    日志输出:

    在FileExplorer视图/data/data/com.example.sharedpreferences/shared_prefs生成的SP.xml

      但是在模拟器内部存储的文件,当你通过FileExplorer选中某个目录或者文件时,右上角有两个小按钮一个是类似于软盘的按钮一个是类似于手机的按钮,通过这两个按钮就可以从模拟器中拷贝文件或者往模拟器中添加文件。拷贝到电脑查看xml内容:

    1 <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
    2 <map>
    3 <int name="INT_VAULE" value="20" />
    4 <string name="STRING_VAULE">hahaha</string>
    5 <boolean name="BOOLEAN_VAULE" value="true" />
    6 </map>

    优点:
    相对而言更加方便,简洁,适合存储数据量较少的配置信息。
    缺点:
    只能存储boolean,int,float,long和String五种简单的数据类型,功能单一。

    ========个人网站:http://chendd.com/ 文章很多是上面搬过来的,以后都在个人网站上更新,有兴趣的可以移步☺========
  • 相关阅读:
    面试题58 二叉树的下一个结点
    面试题57 删除链表中重复的结点
    面试题56 链表中环的入口结点
    面试题55 字符流中第一个不重复的字符
    面试题54 表示数值的字符串
    面试题50 树中两个结点的最低公共祖先
    面试题53 正则表达式匹配
    面试题52 构建乘积数组
    面试题51 数组中重复的数字
    Qt链接库出错version Qt_5 not defined
  • 原文地址:https://www.cnblogs.com/aiguozhe/p/3581071.html
Copyright © 2020-2023  润新知