Android之SharedPreferences两个工具类
相信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两个工具类相关推荐
- android开发监听媒体播放器,Android开发之媒体播放工具类完整示例
本文实例讲述了Android开发之媒体播放工具类.分享给大家供大家参考,具体如下: package com.maobang.imsdk.util; import android.media.Media ...
- Android开发 无线Wifi+WifiUtil工具类,android开发网格布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- ApachePOI导出exce,设置单元格风格的属性和设置字体风格的属性的两个工具类,POI宽度和excel 像素转换
设置单元格风格的属性和设置字体风格的属性的两个工具类,POI宽度和excel 像素转换 /*** 功能:设置单元格风格的属性* */public static HSSFCellStyle SetCel ...
- Android开发 几个常用工具类
本文出自[张鸿洋的博客]并 做了部分修改. 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311 打开大家手上的项目,基 ...
- Android开发:手机震动工具类
新思路,如果你在做关于通知Notification方便的工作,在涉及到多种通知方式组合时(例如:铃声.轻震动.强震动等),感觉到系统提供的API比较吃力的话,建议可以自己来实现通知效果,根据开发经验, ...
- Android项目中常用的工具类集(史上最全整理)
如果你是一名有经验的Android开发者,那么你一定积累了不少的工具类,这些工具类是帮助我们快速开发的基础.如果你是新手,那么有了这些辅助类,可以让你的项目做起来更加的简单. 下面介绍一个在GitHu ...
- Android中调用webservice的工具类
最近学习WebService,感觉利用这个借口开发网站的Android客户端方便及了,用到一个工具类,这里铭记一下. public static final String WebServiceName ...
- android okhttp+解析json( okhttp 工具类)
2019.12.28更新 注意点: 1.只需要在AndroidManifest.xml application 属性中添加 ,就可以访问 http,而不是https android:usesClear ...
- Android RSA加密解密的 工具类的使用
RSA 比较特殊,我们首先要生成私钥和公钥,然后在加密的时候,使用私钥加密,在解密的时候使用公钥解密. //RSA 的初始化,获得私钥和密钥public void rsaInit(){try {Key ...
最新文章
- Kafka压力测试(写入MQ消息压测和消费MQ消息压测)
- Android开发--多媒体应用开发(一)--MediaPlayer的使用介绍
- mysql结构优化_MySQL优化----数据库结构优化
- 算法面试:精选微软等公司经典的算法面试100题 第26-35题
- 内容营销——网络营销的杀手级武器
- 地区选择控件的制作(仿中华英才网地区选择控件)
- 免费试用版CRM客户管理系统如何选择?
- 普通话-汉语拼音字母表
- lumaQQ.net 学习分析
- 【持续更新】Pun多人在线游戏开发教程
- Flarum 插件扩展 特定事件订阅插件Subscribed
- Zbar源码解析——zbar_oho_条形码阅读器|2021SC@SDUSC
- Google Play 下载 apk
- 合成分红游戏源码_旅行世界遛狗养狗恐龙源码,分红龙源码、红包龙、合成龙...
- 论文阅读笔记《Few-Shot Learning with Global Class Representations》
- 路漫漫其修远兮,吾将上下而求索--2019OKR规划
- Records of Reinfocement Learning Experiments
- 电子产品安规测试产品及检测设备
- 台式计算机BIOS怎么查,怎么查看bios版本|查询电脑主板bios版本的方法
- 免费开源.net的pdf操作控件PdfiumViewer