相信Android的这个最简单的存储方式大家都很熟悉了,但是有一个小小技巧,也许你没有用过,今天就跟大家分享一下,我们可以把SharedPreferences封装在一个工具类中,当我们需要写数据和读数据的时候,就可以直接通过工具类的set和get方法来完成,类似JavaBean,这样使用起来就比较方便,快捷(建议项目中使用次数比较多使用)。好了,直接看看这段简单的代码吧:

public class SharePreferenceUtil {private SharedPreferences sp;private SharedPreferences.Editor editor;public SharePreferenceUtil(Context context, String file) {sp = context.getSharedPreferences(file, context.MODE_PRIVATE);editor = sp.edit();}// 用户的密码public void setPasswd(String passwd) {editor.putString("passwd", passwd);editor.commit();}public String getPasswd() {return sp.getString("passwd", "");}// 用户的id,即QQ号public void setId(String id) {editor.putString("id", id);editor.commit();}public String getId() {return sp.getString("id", "");}// 用户的昵称public String getName() {return sp.getString("name", "");}public void setName(String name) {editor.putString("name", name);editor.commit();}// 用户的邮箱public String getEmail() {return sp.getString("email", "");}public void setEmail(String email) {editor.putString("email", email);editor.commit();}// 用户自己的头像public Integer getImg() {return sp.getInt("img", 0);}public void setImg(int i) {editor.putInt("img", i);editor.commit();}// ippublic void setIp(String ip) {editor.putString("ip", ip);editor.commit();}public String getIp() {return sp.getString("ip", Constants.SERVER_IP);}// 端口public void setPort(int port) {editor.putInt("port", port);editor.commit();}public int getPort() {return sp.getInt("port", Constants.SERVER_PORT);}// 是否在后台运行标记public void setIsStart(boolean isStart) {editor.putBoolean("isStart", isStart);editor.commit();}public boolean getIsStart() {return sp.getBoolean("isStart", false);}// 是否第一次运行本应用public void setIsFirst(boolean isFirst) {editor.putBoolean("isFirst", isFirst);editor.commit();}public boolean getisFirst() {return sp.getBoolean("isFirst", true);}
}

第二种方法是更加简单方便:取值时只用传入context和对应的key,就能获取到对应的value;设值时,也是传入context和对应key和value即可,非常方便实用。

public class PreferenceUtils {public static String getPrefString(Context context, String key,final String defaultValue) {final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);return settings.getString(key, defaultValue);}public static void setPrefString(Context context, final String key,final String value) {final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);settings.edit().putString(key, value).commit();}public static boolean getPrefBoolean(Context context, final String key,final boolean defaultValue) {final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);return settings.getBoolean(key, defaultValue);}public static boolean hasKey(Context context, final String key) {return PreferenceManager.getDefaultSharedPreferences(context).contains(key);}public static void setPrefBoolean(Context context, final String key,final boolean value) {final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);settings.edit().putBoolean(key, value).commit();}public static void setPrefInt(Context context, final String key,final int value) {final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);settings.edit().putInt(key, value).commit();}public static int getPrefInt(Context context, final String key,final int defaultValue) {final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);return settings.getInt(key, defaultValue);}public static void setPrefFloat(Context context, final String key,final float value) {final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);settings.edit().putFloat(key, value).commit();}public static float getPrefFloat(Context context, final String key,final float defaultValue) {final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);return settings.getFloat(key, defaultValue);}public static void setSettingLong(Context context, final String key,final long value) {final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);settings.edit().putLong(key, value).commit();}public static long getPrefLong(Context context, final String key,final long defaultValue) {final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);return settings.getLong(key, defaultValue);}public static void clearPreference(Context context,final SharedPreferences p) {final Editor editor = p.edit();editor.clear();editor.commit();}
}

Android之SharedPreferences两个工具类相关推荐

  1. android开发监听媒体播放器,Android开发之媒体播放工具类完整示例

    本文实例讲述了Android开发之媒体播放工具类.分享给大家供大家参考,具体如下: package com.maobang.imsdk.util; import android.media.Media ...

  2. Android开发 无线Wifi+WifiUtil工具类,android开发网格布局

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  3. ApachePOI导出exce,设置单元格风格的属性和设置字体风格的属性的两个工具类,POI宽度和excel 像素转换

    设置单元格风格的属性和设置字体风格的属性的两个工具类,POI宽度和excel 像素转换 /*** 功能:设置单元格风格的属性* */public static HSSFCellStyle SetCel ...

  4. Android开发 几个常用工具类

    本文出自[张鸿洋的博客]并 做了部分修改. 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311 打开大家手上的项目,基 ...

  5. Android开发:手机震动工具类

    新思路,如果你在做关于通知Notification方便的工作,在涉及到多种通知方式组合时(例如:铃声.轻震动.强震动等),感觉到系统提供的API比较吃力的话,建议可以自己来实现通知效果,根据开发经验, ...

  6. Android项目中常用的工具类集(史上最全整理)

    如果你是一名有经验的Android开发者,那么你一定积累了不少的工具类,这些工具类是帮助我们快速开发的基础.如果你是新手,那么有了这些辅助类,可以让你的项目做起来更加的简单. 下面介绍一个在GitHu ...

  7. Android中调用webservice的工具类

    最近学习WebService,感觉利用这个借口开发网站的Android客户端方便及了,用到一个工具类,这里铭记一下. public static final String WebServiceName ...

  8. android okhttp+解析json( okhttp 工具类)

    2019.12.28更新 注意点: 1.只需要在AndroidManifest.xml application 属性中添加 ,就可以访问 http,而不是https android:usesClear ...

  9. Android RSA加密解密的 工具类的使用

    RSA 比较特殊,我们首先要生成私钥和公钥,然后在加密的时候,使用私钥加密,在解密的时候使用公钥解密. //RSA 的初始化,获得私钥和密钥public void rsaInit(){try {Key ...

最新文章

  1. Kafka压力测试(写入MQ消息压测和消费MQ消息压测)
  2. Android开发--多媒体应用开发(一)--MediaPlayer的使用介绍
  3. mysql结构优化_MySQL优化----数据库结构优化
  4. 算法面试:精选微软等公司经典的算法面试100题 第26-35题
  5. 内容营销——网络营销的杀手级武器
  6. 地区选择控件的制作(仿中华英才网地区选择控件)
  7. 免费试用版CRM客户管理系统如何选择?
  8. 普通话-汉语拼音字母表
  9. lumaQQ.net 学习分析
  10. 【持续更新】Pun多人在线游戏开发教程
  11. Flarum 插件扩展 特定事件订阅插件Subscribed
  12. Zbar源码解析——zbar_oho_条形码阅读器|2021SC@SDUSC
  13. Google Play 下载 apk
  14. 合成分红游戏源码_旅行世界遛狗养狗恐龙源码,分红龙源码、红包龙、合成龙...
  15. 论文阅读笔记《Few-Shot Learning with Global Class Representations》
  16. 路漫漫其修远兮,吾将上下而求索--2019OKR规划
  17. Records of Reinfocement Learning Experiments
  18. 电子产品安规测试产品及检测设备
  19. 台式计算机BIOS怎么查,怎么查看bios版本|查询电脑主板bios版本的方法
  20. 免费开源.net的pdf操作控件PdfiumViewer

热门文章

  1. 专家手把手教你写出高水平个人简历
  2. 有关scanf输入的问题
  3. 所有的经历都是财富 --致我的2016
  4. andorid手机电脑操作
  5. 7月第4周全球域名商(国际域名)新增注册量TOP15
  6. 华为防火墙的技术积累
  7. Exchange 2010 运维技巧一
  8. 如果禁用了cookie 怎么传session
  9. [Oracle PL/SQL]当数据表设计成具有父ID的时候,当需要选择所有与父ID同根生的所有节点的时候,使用的SQL语句...
  10. 实例讲解js中的预编译