| import android.content.Context; | |
| import android.content.SharedPreferences; | |
| import android.support.annotation.Nullable; | |
| import java.util.Map; | |
| import java.util.Set; | |
| /** | |
| * <pre> | |
| * author: Blankj | |
| * blog : http://blankj.com | |
| * time : 2016/8/2 | |
| * desc : SP相关工具类 | |
| * </pre> | |
| */ | |
| public final class SPUtils { | |
| private SharedPreferences sp; | |
| private SharedPreferences.Editor editor; | |
| /** | |
| * SPUtils构造函数 | |
| * <p>在Application中初始化</p> | |
| * | |
| * @param spName spName | |
| */ | |
| public SPUtils(String spName) { | |
| sp = Utils.getContext().getSharedPreferences(spName, Context.MODE_PRIVATE); | |
| editor = sp.edit(); | |
| editor.apply(); | |
| } | |
| /** | |
| * SP中写入String类型value | |
| * | |
| * @param key 键 | |
| * @param value 值 | |
| */ | |
| public void put(String key, @Nullable String value) { | |
| editor.putString(key, value).apply(); | |
| } | |
| /** | |
| * SP中读取String | |
| * | |
| * @param key 键 | |
| * @return 存在返回对应值,不存在返回默认值{@code null} | |
| */ | |
| public String getString(String key) { | |
| return getString(key, null); | |
| } | |
| /** | |
| * SP中读取String | |
| * | |
| * @param key 键 | |
| * @param defaultValue 默认值 | |
| * @return 存在返回对应值,不存在返回默认值{@code defaultValue} | |
| */ | |
| public String getString(String key, String defaultValue) { | |
| return sp.getString(key, defaultValue); | |
| } | |
| /** | |
| * SP中写入int类型value | |
| * | |
| * @param key 键 | |
| * @param value 值 | |
| */ | |
| public void put(String key, int value) { | |
| editor.putInt(key, value).apply(); | |
| } | |
| /** | |
| * SP中读取int | |
| * | |
| * @param key 键 | |
| * @return 存在返回对应值,不存在返回默认值-1 | |
| */ | |
| public int getInt(String key) { | |
| return getInt(key, -1); | |
| } | |
| /** | |
| * SP中读取int | |
| * | |
| * @param key 键 | |
| * @param defaultValue 默认值 | |
| * @return 存在返回对应值,不存在返回默认值{@code defaultValue} | |
| */ | |
| public int getInt(String key, int defaultValue) { | |
| return sp.getInt(key, defaultValue); | |
| } | |
| /** | |
| * SP中写入long类型value | |
| * | |
| * @param key 键 | |
| * @param value 值 | |
| */ | |
| public void put(String key, long value) { | |
| editor.putLong(key, value).apply(); | |
| } | |
| /** | |
| * SP中读取long | |
| * | |
| * @param key 键 | |
| * @return 存在返回对应值,不存在返回默认值-1 | |
| */ | |
| public long getLong(String key) { | |
| return getLong(key, -1L); | |
| } | |
| /** | |
| * SP中读取long | |
| * | |
| * @param key 键 | |
| * @param defaultValue 默认值 | |
| * @return 存在返回对应值,不存在返回默认值{@code defaultValue} | |
| */ | |
| public long getLong(String key, long defaultValue) { | |
| return sp.getLong(key, defaultValue); | |
| } | |
| /** | |
| * SP中写入float类型value | |
| * | |
| * @param key 键 | |
| * @param value 值 | |
| */ | |
| public void put(String key, float value) { | |
| editor.putFloat(key, value).apply(); | |
| } | |
| /** | |
| * SP中读取float | |
| * | |
| * @param key 键 | |
| * @return 存在返回对应值,不存在返回默认值-1 | |
| */ | |
| public float getFloat(String key) { | |
| return getFloat(key, -1f); | |
| } | |
| /** | |
| * SP中读取float | |
| * | |
| * @param key 键 | |
| * @param defaultValue 默认值 | |
| * @return 存在返回对应值,不存在返回默认值{@code defaultValue} | |
| */ | |
| public float getFloat(String key, float defaultValue) { | |
| return sp.getFloat(key, defaultValue); | |
| } | |
| /** | |
| * SP中写入boolean类型value | |
| * | |
| * @param key 键 | |
| * @param value 值 | |
| */ | |
| public void put(String key, boolean value) { | |
| editor.putBoolean(key, value).apply(); | |
| } | |
| /** | |
| * SP中读取boolean | |
| * | |
| * @param key 键 | |
| * @return 存在返回对应值,不存在返回默认值{@code false} | |
| */ | |
| public boolean getBoolean(String key) { | |
| return getBoolean(key, false); | |
| } | |
| /** | |
| * SP中读取boolean | |
| * | |
| * @param key 键 | |
| * @param defaultValue 默认值 | |
| * @return 存在返回对应值,不存在返回默认值{@code defaultValue} | |
| */ | |
| public boolean getBoolean(String key, boolean defaultValue) { | |
| return sp.getBoolean(key, defaultValue); | |
| } | |
| /** | |
| * SP中写入String集合类型value | |
| * | |
| * @param key 键 | |
| * @param values 值 | |
| */ | |
| public void put(String key, @Nullable Set<String> values) { | |
| editor.putStringSet(key, values).apply(); | |
| } | |
| /** | |
| * SP中读取StringSet | |
| * | |
| * @param key 键 | |
| * @return 存在返回对应值,不存在返回默认值{@code null} | |
| */ | |
| public Set<String> getStringSet(String key) { | |
| return getStringSet(key, null); | |
| } | |
| /** | |
| * SP中读取StringSet | |
| * | |
| * @param key 键 | |
| * @param defaultValue 默认值 | |
| * @return 存在返回对应值,不存在返回默认值{@code defaultValue} | |
| */ | |
| public Set<String> getStringSet(String key, @Nullable Set<String> defaultValue) { | |
| return sp.getStringSet(key, defaultValue); | |
| } | |
| /** | |
| * SP中获取所有键值对 | |
| * | |
| * @return Map对象 | |
| */ | |
| public Map<String, ?> getAll() { | |
| return sp.getAll(); | |
| } | |
| /** | |
| * SP中移除该key | |
| * | |
| * @param key 键 | |
| */ | |
| public void remove(String key) { | |
| editor.remove(key).apply(); | |
| } | |
| /** | |
| * SP中是否存在该key | |
| * | |
| * @param key 键 | |
| * @return {@code true}: 存在<br>{@code false}: 不存在 | |
| */ | |
| public boolean contains(String key) { | |
| return sp.contains(key); | |
| } | |
| /** | |
| * SP中清除所有数据 | |
| */ | |
| public void clear() { | |
| editor.clear().apply(); | |
| } | |
| } |
SP相关→SPUtils.java
最新推荐文章于 2023-03-05 22:15:33 发布
本文介绍了一个用于Android平台的SP工具类,提供了丰富的API来简化SharedPreferences的使用,支持多种数据类型的存取操作,如String、int、long等,并能进行集合操作及数据查询。
1837

被折叠的 条评论
为什么被折叠?



