zoukankan      html  css  js  c++  java
  • 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/ 文章很多是上面搬过来的,以后都在个人网站上更新,有兴趣的可以移步☺========
  • 相关阅读:
    Trie树-字典树
    【实用向】一些简单实现
    C++ 基础部分
    【动态规划】背包问题-例题分析
    C语言-回溯例4
    C语言-回溯例3
    C语言-回溯例2
    C语言-回溯例1
    java开始到熟悉105-107
    C语言-二维背包问题
  • 原文地址:https://www.cnblogs.com/aiguozhe/p/3581071.html
Copyright © 2011-2022 走看看