package com.xxx.xxx.xxx.common;
import android.content.SharedPreferences;
import android.support.annotation.NonNull;
import com.tcl.hotel.vod.VodHotelApplication;
import static android.content.Context.MODE_PRIVATE;
/**
* desc: 創建輕量級數據存儲庫
*
* @author wangxb
* @since 2019-11-19 16:07
*/
public class SharedPref {
private static final String TAG = SharedPref.class.getName();
private static SharedPref sp;
private SharedPref(){}
public static SharedPref getInstance() {
if(sp == null){
sp = new SharedPref();
}
return sp;
}
private SharedPreferences getSharedPreferences(){
return VodHotelApplication.getApp().getSharedPreferences(TAG,MODE_PRIVATE);
}
/**
* 保存數據的方法,我們需要拿到保存數據的具體類型,然後根據類型調用不同的保存方法
* @param key
* @param object
*/
public void setSharedKey(@NonNull String key, Object object){
String type = object.getClass().getSimpleName();
SharedPreferences.Editor editor = getSharedPreferences().edit();
if("String".equals(type)){
editor.putString(key, (String)object);
}
else if("Integer".equals(type)){
editor.putInt(key, (Integer)object);
}
else if("Boolean".equals(type)){
editor.putBoolean(key, (Boolean)object);
}
else if("Float".equals(type)){
editor.putFloat(key, (Float)object);
}
else if("Long".equals(type)){
editor.putLong(key, (Long)object);
}
editor.commit();
}
/**
* 得到保存數據的方法,我們根據默認值得到保存的數據的具體類型,然後調用相對於的方法獲取值
* @param key
* @param defaultObject
* @return
*/
public Object getSharedKey(@NonNull String key, Object defaultObject){
// 防止異常
if(defaultObject == null){
return null;
}
String type = defaultObject.getClass().getSimpleName();
SharedPreferences sp = getSharedPreferences();
if("String".equals(type)){
return sp.getString(key, (String)defaultObject);
}
else if("Integer".equals(type)){
return sp.getInt(key, (Integer)defaultObject);
}
else if("Boolean".equals(type)){
return sp.getBoolean(key, (Boolean)defaultObject);
}
else if("Float".equals(type)){
return sp.getFloat(key, (Float)defaultObject);
}
else if("Long".equals(type)){
return sp.getLong(key, (Long)defaultObject);
}
return null;
}
}
Android sharedPreferences util
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.