Android SPUtils-SP相關工具類
阿新 • • 發佈:2019-01-07
SPUtils是一個SP相關工具
功能:
1.SP中寫入String型別value
2.SP中讀取String
3.SP中寫入int型別value
4.SP中讀取int
5.SP中寫入long型別value
6.SP中讀取long
7.SP中寫入float型別value
8.SP中讀取float
9.SP中寫入boolean型別value
10.SP中讀取boolean
11.SP中獲取所有鍵值對
12.SP中移除該key
13.SP中是否存在該key
14.SP中清除所有資料
package com.blankj.utilcode.utils; import android.content.Context; import android.content.SharedPreferences; import java.util.Map; /** * <pre> * author: Blankj * blog : http://blankj.com * time : 2016/8/2 * desc : SP相關工具類 * </pre> */ public class SPUtils { private SharedPreferences sp; private SharedPreferences.Editor editor; /** * SPUtils建構函式 * <p>在Application中初始化</p> * * @param context 上下文 * @param spName spName */ public SPUtils(Context context, String spName) { sp = context.getSharedPreferences(spName, Context.MODE_PRIVATE); editor = sp.edit(); editor.apply(); } /** * SP中寫入String型別value * * @param key 鍵 * @param value 值 */ public void putString(String key, 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 putInt(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 putLong(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 putFloat(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 putBoolean(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中獲取所有鍵值對 * * @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(); } }