package com.doumee.lib_coremodel.util; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.graphics.Point; import android.text.TextUtils; import android.view.WindowManager; import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; /** * Created by Administrator on 2016/10/14. */ public class SpUtil { private static final String FILE_NAME = "app_parameter"; private static SharedPreferences sharedPreferences; public static void init(Context context){ if (sharedPreferences == null) { sharedPreferences = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE); } } private static SharedPreferences getSharedPreferences() { return sharedPreferences; } public static boolean remoreUser() { SharedPreferences.Editor editor = getSharedPreferences().edit(); editor.remove("user"); return editor.commit(); } public static T getBean(String key,Class cls) { String s = getSharedPreferences().getString(key, ""); if (!TextUtils.isEmpty(s)) { return new Gson().fromJson(s, cls); } return null; } public static boolean saveBean(String key,Object labour) { String s = new Gson().toJson(labour); SharedPreferences.Editor editor = getSharedPreferences().edit(); editor.putString(key, s); return editor.commit(); } public static String getString(String key){ return getSharedPreferences().getString(key, ""); } /** * 获取String * * @param key * @param defValue * @return */ public static String getString(String key, String defValue) { return getSharedPreferences().getString(key, defValue); } public static int getInt(String key, int defValue){ return getSharedPreferences().getInt(key, defValue); } public static void setInt(String key, int defValue){ SharedPreferences.Editor editor = getSharedPreferences().edit(); editor.putInt(key, defValue); editor.commit(); } /** * 添加String * * @param key * @param value */ public static void setString(String key, String value) { SharedPreferences.Editor editor = getSharedPreferences().edit(); editor.putString(key, value); editor.commit(); } public static void saveString(String key, String value){ SharedPreferences.Editor editor = getSharedPreferences().edit(); editor.putString(key, value); editor.commit(); } public static void saveInt(String key, int value){ SharedPreferences.Editor editor = getSharedPreferences().edit(); editor.putInt(key, value); editor.commit(); } public static int getInt(String key){ return getSharedPreferences().getInt(key, 0); } public static boolean getBoolean(String key){ return getSharedPreferences().getBoolean(key, false); } public static void saveBoolean(String key, boolean value){ SharedPreferences.Editor editor = getSharedPreferences().edit(); editor.putBoolean(key, value); editor.commit(); } public static boolean remoreString(String key) { SharedPreferences.Editor editor = getSharedPreferences().edit(); editor.remove(key); return editor.commit(); } public static boolean haveKey(String key){ return getSharedPreferences().contains(key); } //是否是游客登陆 public static boolean isVisitor(){ return getSharedPreferences().getBoolean("isVisitor",false); } //是否是游客登陆 public static void saveVisitor(boolean is){ SharedPreferences.Editor editor = getSharedPreferences().edit(); editor.putBoolean("isVisitor", is); editor.commit(); } /** * 屏幕宽高 */ private static int WIDTH=0; private static int HEIGHT=0; public static int getWIDTH(){ if(WIDTH==0){ WIDTH= getInt("WIDTH",0); } return WIDTH; } public static void setWIDTH(int width){ if(width!=0){ saveInt("WIDTH",width); WIDTH=width; } } public static int getHEIGHT(){ if(HEIGHT==0){ HEIGHT= getInt("HEIGHT",0); } return HEIGHT; } public static void setHEIGHT(int height){ if(height!=0){ saveInt("HEIGHT",height); HEIGHT=height; } } public static void initWH(Activity activity){ WindowManager wm = activity.getWindowManager(); Point point = new Point(); wm.getDefaultDisplay().getSize(point); setWIDTH(point.x); setHEIGHT(point.y); } public static List getMatchingStrings(String pattern) { List keys = new ArrayList<>(sharedPreferences.getAll().keySet()); List beans = new ArrayList<>(); for (String key : keys) { if (key.contains(pattern)) { beans.add(new SPBean(key,getString(key))); } } return beans; } public static class SPBean{ private String key; private String value; private int pos; public SPBean(String key, String value) { this.key = key; this.value = value; } public String getKey() { return key; } public void setKey(String key) { this.key = key; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } public int getPos() { return pos; } public void setPos(int pos) { this.pos = pos; } } }