SharedPreferences是Android的一个接口类,是Android 数据存储(保存内部)的一种方法。主要以.xml 的形式保存在Android /data/data/com.**包名/shared_prefs下,SharedPreferences类提供了一个通用框架,以便用户能够保存和检索原始数据类型的键值对,原始数据类型如下:Boolean,Int,Float,Long,String。

欢迎关注微信公众号:程序员Android
公众号ID:ProgramAndroid
获取更多信息

微信公众号:ProgramAndroid

我们不是牛逼的程序员,我们只是程序开发中的垫脚石。
我们不发送红包,我们只是红包的搬运工。

通过本章学习你将掌握以下知识点

1. SharedPreferences的使用方法
2. SharedPreferences保存数据的方法
3. SharedPreferences读取数据的方法
4. 总结SharedPreferencesUtils 封装类使用方法

1. SharedPreferences的使用方法

SharedPreferences 使用方法如下

1. 创建保存数据的xml文件
2. 使用Editor 向xml文件中保存数据
3. commit() 保存数据
4. xml保存地方/data/data/com.***包名/shared_prefs

2. SharedPreferences 保存数据的方法

主要使用 putBoolean() 和 putString() 等方法添加值。

3. SharedPreferences读取数据的方法

主要使用 getBoolean() 和 getString() 等 获取保存的数据

4. 总结SharePerference Utils 封装类使用方法

  • Utils 类如下:
public class SharePerferenceUtils {private static SharedPreferences sp;// 1,存储boolean变量方法public static void putBoolean(Context ctx, String key, boolean value) {// name存储文件名称if (sp == null) {sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);}sp.edit().putBoolean(key, value).commit();}// 2,读取boolean变量方法public static boolean getBoolean(Context ctx, String key, boolean defValue) {// name存储文件名称if (sp == null) {sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);}return sp.getBoolean(key, defValue);}public static void putString(Context ctx, String key, String value) {// name存储文件名称if (sp == null) {sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);}sp.edit().putString(key, value).commit();}public static String getString(Context ctx, String key, String defValue) {// name存储文件名称if (sp == null) {sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);}return sp.getString(key, defValue);}/*** @param ctx*            上下文环境* @param key*            要从config.xml移除节点的name的名称*/public static void removeKey(Context ctx, String key) {if (sp == null) {sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);}sp.edit().remove(key).commit();}// 反射(扩展)//public static void putInt(Context ctx, String key, int value) {// name存储文件名称if (sp == null) {sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);}sp.edit().putInt(key, value).commit();}public static int getInt(Context ctx, String key, int defValue) {// name存储文件名称if (sp == null) {sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);}return sp.getInt(key, defValue);}}
  • Activity 类中使用方法如下:
  1. 保存数据
    SharePerferenceUtils.putInt(getApplicationContext(), "int_key", 1);
  1. 获取数据
    SharePerferenceUtils.getString(getApplicationContext(), "string_key", "default_values");

至此 SharedPreferences的使用方法以基本完成。

注意:
SharedPreferences 保存在app内部,当手动清除APK 数据的时候,保存的数据会被清除掉

至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

如有侵权,请联系小编,小编对此深感抱歉,届时小编会删除文章,立即停止侵权行为,请您多多包涵。

既然都看到这里,领两个红包在走吧!
以下两个红包每天都可以领取

1.支付宝搜索 522398497,或扫码支付宝红包海报。

支付宝扫一扫,每天领取大红包

2.微信红包,微信扫一扫即可领取红包

微信扫一扫,每天领取微信红包

小礼物走一走,来简书关注我

SharedPreferences 使用方法详解相关推荐

  1. Android SharedPreferences 使用方法详解

    目录 1. SharedPreferences 定义介绍 2. SharedPreferences.Editor 方法介绍 2.1 apply() 2.2 commit() 2.3 clear() 2 ...

  2. python统计csv行数_对Python 多线程统计所有csv文件的行数方法详解

    如下所示: #统计某文件夹下的所有csv文件的行数(多线程) import threading import csv import os class MyThreadLine(threading.Th ...

  3. python修改文件内容_Python批量修改文本文件内容的方法详解

    这篇文章主要介绍了Python批量修改文本文件内容的方法的相关资料,需要的朋友可以参考下 Python批量替换文件内容,支持嵌套文件夹 import os path="./" fo ...

  4. python二维元组_python中读入二维csv格式的表格方法详解(以元组/列表形式表示)

    如何去读取一个没有表头的二维csv文件(如下图所示)? 并以元组的形式表现数据: ((1.0, 0.0, 3.0, 180.0), (2.0, 0.0, 2.0, 180.0), (3.0, 0.0, ...

  5. Spring JdbcTemplate方法详解

    2019独角兽企业重金招聘Python工程师标准>>> Spring JdbcTemplate方法详解 标签: springhsqldbjava存储数据库相关sql 2012-07- ...

  6. golang 解析php序列化,golang实现php里的serialize()和unserialize()序列和反序列方法详解...

    Golang 实现 PHP里的 serialize() . unserialize() 安装 go get -u github.com/techleeone/gophp/serialize 用法 pa ...

  7. ES5和ES6数组遍历方法详解

    ES5和ES6数组遍历方法详解 在ES5中常用的10种数组遍历方法: 1.原始的for循环语句 2.Array.prototype.forEach数组对象内置方法 3.Array.prototype. ...

  8. linux expect 输入密码,shell脚本无密码登录 expect的使用方法详解

    shell脚本无密码登录 expect的使用方法详解 今天需要做一个定时任务脚本将最新的数据包文件传到远程的服务器上,虽然有密钥但也是要求输入密码的那种,所以只能另想办法实现让脚本自动输入密码了. 从 ...

  9. 饥荒怎么自动订阅服务器,饥荒联机版自动挂礼物mod及使用方法详解

    饥荒联机版中官方经常会推出一些挂机掉落礼物的活动,可能一些玩家会觉得很麻烦,下面给大家分享一些自动挂礼物mod和其使用方法,希望可以帮助到各位玩家. 饥荒联机版自动挂礼物mod及使用方法详解 挂礼物m ...

最新文章

  1. 今天小暑是什么时间_小暑适合发朋友圈的说说 小暑吐槽天气热的搞笑幽默说说...
  2. 各种加密算法用法及作用
  3. mysql 回滚段_史上最牛分析MySQL索引机制的实现!不接受反驳
  4. tp5.1升级指导---控制器调整 _initialize方法更改为initialize
  5. Python 判断语句 if else
  6. VS C# string 字符查找 寻找指定字符
  7. 斯坦福大学自然语言处理第五课“拼写纠错(Spelling Correction)”
  8. ISO27001标准的起源和发展
  9. 微信小程序web-view的H5页面如何使用微信直播功能
  10. amd支持服务器内存,AMD专用内存为什么只能在AMD平台使用?与普通内存有什么区别?...
  11. 充电器pps功能是什么_科普:PPS充电器为何不兼容笔电?
  12. Oracle兵器谱上古神器之-KFED
  13. BOM制作系列之一:BOM拆分
  14. 《建筑工程定额与预算》
  15. 计算机类sci四大水刊,材料灌水的sci期刊_十大水榜sci杂志_四大垃圾sci杂志
  16. RS485通信和Modbus协议
  17. Strongly Connected Tournament
  18. 超时用集群脚本ync.sh、xcall.sh
  19. c语言引用类型,c语言 引用符号
  20. 机房计算机课提交作业,学生提交电子作业的实现方案一例 面试后要求提交方案...

热门文章

  1. 当当网总裁李国庆:亚马逊模式不适合中国
  2. hive创建角色并赋权
  3. Springboot上传文件时提示405
  4. GNSS观测值质量分析必备基础知识
  5. SKY13626-685LF射频开关
  6. 改计算机名后ansys打不开,更改计算机名后 Ansys重新注册的简单办法 20140611.pdf
  7. Mongodb关于读取的问题(Read Concern)和Write Concern
  8. python c++情侣网名是什么意思_“果然,他用的是情侣网名!”
  9. MySQL中LOCATE()函数的详解
  10. 单调队列(P3088 Crowded Cows S)