一、为什么使用SharedPreferences

android中的数据存储大致可以分为三大类:

  • sharedpreferences存储
  • file文件存储
  • sqlite数据库存储

相对于另外两种存储方式,sharedpreferences的存储更简洁、清晰,所以sharedpreferences存储成为android中非常受欢迎的存储方式。

二、SharedPreferences是什么

  • SharedPreferences是Android平台上一个轻量级的存储类,用来存储少量数据时简单、便捷(如:保存记住密码状态,设置开关状态等)。
  • 以key-value(键值对)形式存储数据,可以存储的数据类型为:String、float、int、long、boolean。
  • 存储位置在/data/data/<包名>/shared_prefs目录下。
  • 保存的数据以XML形式存储(即最终在手机上生成了一个xml文件)。

Android入门教程 sharedpreferences的用法_第1张图片

三、SharedPreferences怎么用

1、写入

step1:获取SharedPreferences对象
step2:获取Editor对象
step3:按键值对形式写入值
step4:提交

获取SharedPreferences的两种方式:
1、调用Context对象的getSharedPreferences()方法
2、调用Activity对象的getPreferences()方法
两种方式的区别:
调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.
调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.

代码示例

//获取SharedPreference对象        SharedPreferences spf = getSharedPreferences("myfile", Context.MODE_PRIVATE);        //获取Editor对象        Editor editor = spf.edit();        //写入信息        editor.putString("name", "罗辑");        editor.putBoolean("vip", true);        editor.putInt("age", 20);        //写入信息完毕后,要提交        editor.commit();

Android入门教程 sharedpreferences的用法_第2张图片

2、读取

step1:获取sharedpreferences对象
step2:按键值对形式取值

代码示例

//从文件中取值        String name = spf.getString("name", "");        Boolean vip = spf.getBoolean("vip", false);        int age = spf.getInt("age", 0);        System.out.println("name:"+name);        System.out.println("vip:"+vip);        System.out.println("age:"+age);

这里写图片描述

更多相关文章

  1. android控件的对齐方式(转)
  2. android app模拟 persistent 属性可以保活且正常升级的一种方式
  3. android控件的对齐方式
  4. Android Studio添加aar依赖的两种方式
  5. 转载 android 利用ksoap2方式连接webservice
  6. android跨进程通讯一:android中跨进程通讯的4种方式
  7. Android根据上下文对象Context找到对应的Activity
  8. Android 使用非阻塞的方式读写串口
  9. Android选项卡TabHost方式实现

随机推荐

  1. 超简单!基于Python搭建个人“云盘”
  2. Numpy基础20问
  3. 47页PPT | 如何利用Python进行自动化办公
  4. 新版本chrome 浏览器非受信https站点访
  5. Veeam备份虚拟机报错
  6. 教你预测北京雾霾,基于keras LSTMs的多变
  7. seaborn常用的10种数据分析图表
  8. 基于geopandas的空间数据分析-深入浅出分
  9. 火爆全网的动态曲线图是怎么做的?
  10. 使用pyecharts绘制词云图-淘宝商品评论展