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", );
}
public void setImg(int i) {
editor.putInt("img", i);
editor.commit();
}
// ip
public 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开发之常用必备工具类图片bitmap转成字符串string与String字符串转换为bitmap图片格式
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...
- Android中创建倒影效果的工具类
一.有时候我们需要创建倒影的效果,我们接触最多的都是图片能够创建倒影,而布局依然可以创建倒影. 二.工具类代码 import android.graphi ...
- Android—关于自定义对话框的工具类
开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...
- Android加载网络图片的工具类
ImageView加载网络的图片 HttpUtil.java package com.eiice.httpuimagetils; import java.io.ByteArrayOutputStrea ...
- 转--Android中调用webservice的工具类
最近学习WebService,感觉利用这个借口开发网站的Android客户端方便及了,用到一个工具类,这里铭记一下. public static final String WebServiceName ...
- Android OkHttp网络连接封装工具类
package com.lidong.demo.utils; import android.os.Handler; import android.os.Looper; import com.googl ...
- 015 Android md5密码加密及其工具类
1.md5加密介绍 MD5算法是广泛使用的杂凑函数,也就是哈希函数,英文全拼是:Message Digest Algorithm,对应的中文名字是消息摘要算法. MD5加密:将字符串转换成 32位的字 ...
- android/java经常使用的工具类源代码
anroid.java经常使用的工具类源代码,当中包含文件操作.MD5算法.文件操作.字符串操作.调试信息log.base64等等. 下载地址:http://download.csdn.net/det ...
- Android list加载图片工具类
总体思路 Handler + looper + message 核心类 package com.base.imagechoose.util; import android.graphics.Bitma ...
随机推荐
- CH Round #53-数据备份
描述 已知有N座办公楼位于同一条街上.你决定给这些办公楼配对(两个一组).每一对办公楼可以通过在这两个建筑物之间铺设网络电缆使得它们可以互相备 份.然而,网络电缆的费用很高.当地电信公司仅能为你提供K ...
- BZOJ1662: [Usaco2006 Nov]Round Numbers
1662: [Usaco2006 Nov]Round Numbers Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 147 Solved: 84[Sub ...
- 【转】Install SmartGit via PPA in Ubuntu 13.10/13.04/12.04/Linux Mint
原文网址:http://ubuntuhandbook.org/index.php/2013/09/install-smartgit-via-ppa-ubuntu-linux-mint/ This tu ...
- 【转】Date类学习总结(Calendar Date 字符串 相互转换 格式化)
原文网址:http://www.blogjava.net/jerry-zhaoj/archive/2008/10/08/233228.html Date类学习总结 1.计算某一月份的最大天数 Cale ...
- libjingle开发人员指南
libjingle开发人员指南 libjingle SDK包含C + +源代码和文档,使您能够设计连接和网络交换数据的应用程序(通过点对点数据连接).该SDK包含代码和示例应用程序,一个Window平 ...
- 用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应
http://blog.csdn.net/panjunbiao/article/details/8615880 用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应
- cf442B Andrey and Problem
B. Andrey and Problem time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- SAE Python使用经验 好文推荐
SAE Python使用经验 好文推荐 SAE Python使用经验 好文推荐
- [Matlab] Attempt to execute SCRIPT *** as a function
Attempt to execute SCRIPT *** as a function 问题: 在运行MATLAB程序的时候,出现如题的报错. 原因: 在系统中,现有的.m文件有的与***函数重名,所 ...
- java集合类之------Properties
之前经常看到有人在网上问关于HashMap 和Hashtable 的区别,自己也在看,时间一长发现自己也忘了二者的区别,于是在实际应用中犯错了. 原因是使用了Properties 这个集合类时将nul ...