AndroidUtils(六)SP工具类
来源:互联网 发布:少儿编程前景 编辑:程序博客网 时间:2024/05/22 08:14
共享参数存储工具类; ; ;
SharedPreferenceces; ; ;
Android必不可少的存储方式之一。
使用步骤:
SPUtils.getInstance(this).put("putInt",1);//存储一个int值int ww = SPUtils.getInstance(this).getInt("putInt"); //取出这个int值
代码:
package com.example.bandofbrotherszts.androidphoneinfo;import android.content.Context;import android.content.SharedPreferences;import android.support.annotation.NonNull;import android.support.v4.util.SimpleArrayMap;import java.util.Collections;import java.util.Map;import java.util.Set;/** *Created by ${zhaojz} on 2017/8/1. * 共享参数存储工具类 */public final class SPUtils { private static SimpleArrayMapSP_UTILS_MAP = new SimpleArrayMap<>(); private SharedPreferences sp; /** * 获取SP实例 * * @return {@link SPUtils} */ public static SPUtils getInstance(Context context) { return getInstance("",context); } /** * 获取SP实例 * * @param spName sp名 * @return {@link SPUtils} */ public static SPUtils getInstance(String spName,Context context) { if (isSpace(spName)) spName = "ztsSP"; SPUtils spUtils = SP_UTILS_MAP.get(spName); if (spUtils == null) { spUtils = new SPUtils(spName,context); SP_UTILS_MAP.put(spName, spUtils); } return spUtils; } private SPUtils(final String spName ,Context context) { sp = context.getApplicationContext().getSharedPreferences(spName, Context.MODE_PRIVATE); } /** * SP中写入String * * @param key 键 * @param value 值 */ public void put(@NonNull final String key, @NonNull final String value) { sp.edit().putString(key, value).apply(); } /** * SP中读取String * * @param key 键 * @return 存在返回对应值,不存在返回默认值{@code ""} */ public String getString(@NonNull final String key) { return getString(key, ""); } /** * SP中读取String * * @param key 键 * @param defaultValue 默认值 * @return 存在返回对应值,不存在返回默认值{@code defaultValue} */ public String getString(@NonNull final String key, @NonNull final String defaultValue) { return sp.getString(key, defaultValue); } /** * SP中写入int * * @param key 键 * @param value 值 */ public void put(@NonNull final String key, final int value) { sp.edit().putInt(key, value).apply(); } /** * SP中读取int * * @param key 键 * @return 存在返回对应值,不存在返回默认值-1 */ public int getInt(@NonNull final String key) { return getInt(key, -1); } /** * SP中读取int * * @param key 键 * @param defaultValue 默认值 * @return 存在返回对应值,不存在返回默认值{@code defaultValue} */ public int getInt(@NonNull final String key, final int defaultValue) { return sp.getInt(key, defaultValue); } /** * SP中写入long * * @param key 键 * @param value 值 */ public void put(@NonNull final String key, final long value) { sp.edit().putLong(key, value).apply(); } /** * SP中读取long * * @param key 键 * @return 存在返回对应值,不存在返回默认值-1 */ public long getLong(@NonNull final String key) { return getLong(key, -1L); } /** * SP中读取long * * @param key 键 * @param defaultValue 默认值 * @return 存在返回对应值,不存在返回默认值{@code defaultValue} */ public long getLong(@NonNull final String key, final long defaultValue) { return sp.getLong(key, defaultValue); } /** * SP中写入float * * @param key 键 * @param value 值 */ public void put(@NonNull final String key, final float value) { sp.edit().putFloat(key, value).apply(); } /** * SP中读取float * * @param key 键 * @return 存在返回对应值,不存在返回默认值-1 */ public float getFloat(@NonNull final String key) { return getFloat(key, -1f); } /** * SP中读取float * * @param key 键 * @param defaultValue 默认值 * @return 存在返回对应值,不存在返回默认值{@code defaultValue} */ public float getFloat(@NonNull final String key, final float defaultValue) { return sp.getFloat(key, defaultValue); } /** * SP中写入boolean * * @param key 键 * @param value 值 */ public void put(@NonNull final String key, final boolean value) { sp.edit().putBoolean(key, value).apply(); } /** * SP中读取boolean * * @param key 键 * @return 存在返回对应值,不存在返回默认值{@code false} */ public boolean getBoolean(@NonNull final String key) { return getBoolean(key, false); } /** * SP中读取boolean * * @param key 键 * @param defaultValue 默认值 * @return 存在返回对应值,不存在返回默认值{@code defaultValue} */ public boolean getBoolean(@NonNull final String key, final boolean defaultValue) { return sp.getBoolean(key, defaultValue); } /** * SP中写入String集合 * * @param key 键 * @param values 值 */ public void put(@NonNull final String key, @NonNull final Set values) { sp.edit().putStringSet(key, values).apply(); } /** * SP中读取StringSet * * @param key 键 * @return 存在返回对应值,不存在返回默认值{@code Collections. emptySet()} */ public Set getStringSet(@NonNull final String key) { return getStringSet(key, Collections. emptySet()); } /** * SP中读取StringSet * * @param key 键 * @param defaultValue 默认值 * @return 存在返回对应值,不存在返回默认值{@code defaultValue} */ public Set getStringSet(@NonNull final String key, @NonNull final Set defaultValue) { return sp.getStringSet(key, defaultValue); } /** * SP中获取所有键值对 * * @return Map对象 */ public Map getAll() { return sp.getAll(); } /** * SP中是否存在该key * * @param key 键 * @return {@code true}: 存在
{@code false}: 不存在 */ public boolean contains(@NonNull final String key) { return sp.contains(key); } /** * SP中移除该key * * @param key 键 */ public void remove(@NonNull final String key) { sp.edit().remove(key).apply(); } /** * SP中清除所有数据 */ public void clear() { sp.edit().clear().apply(); } private static boolean isSpace(final String s) { if (s == null) return true; for (int i = 0, len = s.length(); i < len; ++i) { if (!Character.isWhitespace(s.charAt(i))) { return false; } } return true; }}
更多工具类及源码:点击打开链接
群号:659014357 加加加!!!
阅读全文
0 0
- AndroidUtils(六)SP工具类
- AndroidUtils(三)时间工具类
- AndroidUtils之FontUtils字体工具类
- AndroidUtils(二)Activity管理类
- AndroidUtils一些类方法
- sp的工具类
- SP相关工具类
- AndroidUtils(五)Android图片压缩、旋转工具
- Android sp dp px转化工具类
- dp,px,sp单位转换工具类
- px,dp,sp转换工具类
- Android SPUtils-SP相关工具类
- px,dp,sp的换算 工具类
- 自己写的一个SP工具类
- AndroidUtils(四)Crash异常捕获输出文件
- Android单位转换 (px、dp、sp之间的转换工具类)
- DisplayUtil 把dp或sp转成px(像素)的工具类。适配不同屏幕
- Android单位转换 (px、dp、sp之间的转换工具类)
- Swift
- 基于jQuery的zTree树插件实现筛选
- iptables规则的查看、添加、删除和修改
- web开发第四课数据库操作
- C#编写的计算器程序(仿windows自带的计算器)
- AndroidUtils(六)SP工具类
- 371. Sum of Two Integers, 不用加减乘除运算符计算两数之和
- 在SpringBoot中使用 拦截器
- 字典的数据采集模块
- 阿里四面面经
- springmvc整合freemarker
- Quartz延时任务实现
- ubuntu 16.04 mysql 安装问题1045
- Android Studio 自定义设置注释模板