SharedPerferences存储

作者: 大话程序 | 来源:发表于2016-05-10 16:14 被阅读376次

SharedPerferences存储

SharedPreferences是使用键值对的方式来存储数据的,SharedPreferences文件是使用XML格式来对数据进行管理的

将数据存储到SharedPreferences中

获取到SharedPreferences对象

  1. 使用Context类中的getSharedPreferences(String name, int mode)方法
    name参数用于指定SharedPreferences文件的名称,如果指定的文件不存在则会创建一个,SharedPreferences文件都是存放在/data/data/(packageName)/shared_prefs目录下;mode参数指定操作模式,MODE_PRIVATE是默认的操作模式,表示只有当前的应用程序可以对这个SharedPreferences文件进行读写,MODE_MULTI_PROCESS则是一般用于多个应用程序对同一个SharedPreferences文件进行读写的情况
  • Activity类中的getPreferences(int mode)方法
    这个方法只接受一个模式参数,这个方法会自动将当前活动的类名做为SharedPreferences的文件名
  • PreferenceManager类中的getDefaultSharedPreferences(Context context)方法
    这是一个静态方法,它接收一个Context参数,并自动使用当前应用程序的包名做为前缀来命名SharedPreferences文件

向SharedPreferences文件中存储数据

  1. 调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象
  • SharedPreferences.Eidtor对象中添加数据,若添加布尔类型的就使用方法putBoolean(),添加一个字符串则使用putString()方法,以此类推

  • 调用commit()方法将添加的数据提交,从而完成数据存储工作
    调用clear()方法,将SharedPreferences文件中的数据全部清除掉

  • 存储代码如下:

    saveData = (Button)findViewById(ID);
    saveData.setOnClickListener(new OnClickListener(){
      @override
      public void onClick(View v){
        //拿到SharedPreferences文件的编辑器
        SharedPreferences.Eidtor editor = getSharedPreferences("data", MODE_PRIVATE).edit();
        //添加数据
        editor.putString("name", "xiao")
        editor.putInt("age", 28);
        editor.putBoolean("married", false);
        //提交数据,完成存储
        editor.commit();
      }
    });
    

导出数据图:


SharedPreferences

从SharedPreferences中读取数据

SharedPreferences对象中提供了一系列get方法用于对存储的数据进行读取,每种get方法都对应SharedPreferences.Editor中的一种put方法,这些get方法都接收两个参数,一个是键(传入存储数据时使用的键就可以得到相应的值了),另一个参数是默认值(表示当传入的键找不到对应的值时,会以什么样的默认值进行返回)

  • 代码如下:

    SharedPreferences pref = getSharedPreferences("data", MODE_PRIVATE);
    String name = pref.getString("name", "");
    int age = pref.getInt("age", 0);
    boolean married = pref.getBoolean("married", false);
    Log.d("MainActivity", "name is " + name);
    Log.d("MainActivity", "age is " + age);
    Log.d("MainActivity", "married is " + married);
    

相关文章

  • SharedPerferences存储

    SharedPerferences存储 SharedPreferences是使用键值对的方式来存储数据的,Shar...

  • SharedPerferences存储

    SharedPerferences存储 轻量级的存储方式,这种方式主要是对少量的数据进行存储,通过为程序开发人员提...

  • 2019-03-01

    1.SharedPerferences是线程安全的吗?SharedPerferences是进程安全的吗?Share...

  • SharedPerferences简介

    原文出处:http://www.ccbu.cc/android/shareperferences-intro Sh...

  • 【华为网络技术大赛】储存基础原理

    广义的存储 硬件存储系统 存储软件 存储网络 存储解决方案 存储方案 DAS(直接连接存储)早期 SAN(存储区域...

  • # Android存储,内部存储,外部存储

    标签(空格分隔): Android 首先看姚家艺的这篇博客再结合一些安卓中的获取存储的方法博客一 、博客二

  • 块存储,文件存储,对象存储,存储简单入门

    【块存储】 典型设备:磁盘阵列,硬盘 块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬...

  • MySQL 视图和存储程序

    MySQL 视图和存储程序 存储程序:存储函数、存储过程、触发器和事件的总称。 存储例程:存储函数+存储过程。 触...

  • 存储的分类

    存储的分类: 封闭系统的存储 开放系统的存储 >内置存储 >外挂存储 >直接附加存储 (...

  • Android存储及路径

    Android存储及路径 Android手机存储分类 分为:内部存储和外部存储 如何区分内部存储和外部存储:可以从...

网友评论

    本文标题:SharedPerferences存储

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