一、为什么使用SharedPreferences

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

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

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

二、SharedPreferences是什么

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

三、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();

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中实现跑马灯效果
  3. Android(安卓)MVVM之Databinding(二) 使用篇
  4. Android(安卓)Studio 获取SHA1
  5. [置顶] Android(安卓)webview开发中 js与android相互调用
  6. 游戏开发中SurfaceView的重要作用
  7. android XMl 解析神奇xstream 六: 把集合list 转化为 XML文档
  8. LinearLayout 属性详解
  9. Android应用程序请求SurfaceFlinger服务创建Surface的过程分析

随机推荐

  1. 控件的间距为0
  2. Android中3种方法实现back键动作
  3. javafx for android or ios ?
  4. Android系统中设置TextView的行间距(非行
  5. Android学习笔记(二三): 多页显示-Flipper的
  6. android中activity的四种加载模式
  7. android知识链接汇总(3)
  8. 第一天
  9. Android UI开发第一篇――android的九宫
  10. Android NDK开发实例教程