import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log;
import java.util.Set;
/**
* Created by 颜承孟 on 2017/1/31.
*/
public class PreferenceManager {
private static final String TAG = PreferenceManager.class.getSimpleName();
private static SharedPreferences mSharedPreferences;
private static PreferenceManager mPreferencemManager;
private static SharedPreferences.Editor editor;
private Context context = null;
private String cacheName;
private PreferenceManager(Context cxt, String cacheName) {
mSharedPreferences = cxt.getSharedPreferences(cacheName, Context.MODE_PRIVATE);
editor = mSharedPreferences.edit();
this.context = cxt;
this.cacheName = cacheName;
}
public static synchronized void init(Context cxt, String cacheName) {
if (mPreferencemManager == null) {
mPreferencemManager = new PreferenceManager(cxt, cacheName);
}
}
/**
* 单例模式,获取instance实例
*
* @param
* @return
*/
public synchronized static PreferenceManager getInstance() {
if (mPreferencemManager == null) {
throw new RuntimeException("please init first!");
}
return mPreferencemManager;
}
public void putBoolean(String key, boolean value)
{
editor.putBoolean(key, value);
editor.commit();
}
public boolean getBoolean(String key, boolean defValue)
{
return mSharedPreferences.getBoolean(key,defValue);
}
public void putString(String key, String value)
{
editor.putString(key, value);
editor.commit();
}
public String getString(String key, String defValue)
{
return mSharedPreferences.getString(key, defValue);
}
public void putFloat(String key, float value)
{
editor.putFloat(key, value);
editor.commit();
}
public float getFloat(String key, float defValue)
{
return mSharedPreferences.getFloat(key, defValue);
}
public void putLong(String key, long value)
{
editor.putLong(key, value);
editor.commit();
}
public long getLong(String key, long defValue)
{
return mSharedPreferences.getLong(key, defValue);
}
public void put(String key, Object obj)
{
String objJsonStr = JsonUtil.obj2json(obj);
Log.e("put",objJsonStr);
editor.putString(key, objJsonStr);
editor.commit();
}
public <T extends Object> T get(String key, Class clz)
{
Log.e("get objStr","get---------------");
String objStr = mSharedPreferences.getString(key, "");
Log.e("get objStr",objStr);
return (T) JsonUtil.json2obj(objStr, clz);
}
public void putStringSet(Set<String> set,String key){
editor.putStringSet(key,set);
editor.commit();
}
public Set<String> getStringSet(String key)
{
return mSharedPreferences.getStringSet(key,null);
}
public void remove(String key)
{
editor.remove(key);
editor.commit();
}
}
SharedPreferences操作工具类
最新推荐文章于 2020-11-30 11:34:22 发布