今天我分享我常用到的一些Utils吧,可能你们有比我更好的,也许用不到,我这里就当做自我总结吧!
1、常用到的全局上下文,在你的Application中
public class MyApplication extends MultiDexApplication {
public static Context context;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
}
public static Context getContext() {
return context;
}
}
2、用SharedPreferences做一个存储,可当做缓存用,不过数据量不如SQLite多,适用于单个数据的存储,不要滥用哦
private static SharedPreferences sp;
public static void sp_put(String k, Object v) {
sp = MyApplication.getContext().getSharedPreferences("KK", Context.MODE_PRIVATE);
SharedPreferences.Editor edit = sp.edit();
if (v instanceof String) {
edit.putString(k, (String) v);
} else if (v instanceof Integer) {
edit.putInt(k, (Integer) v);
} else if (v instanceof Long) {
edit.putLong(k, (Long) v);
} else if (v instanceof Boolean) {
edit.putBoolean(k, (Boolean) v);
} else if (v instanceof Float) {
edit.putFloat(k, (Float) v);
} else {
return;
}
edit.apply();
}
public static Object sp_get(String k, Object v) {
sp = MyApplication.getContext().getSharedPreferences("KK", Context.MODE_PRIVATE);
if (v instanceof String) {
return sp.getString(k, (String) v);
} else if (v instanceof Integer) {
return sp.getInt(k, (Integer) v);
} else if (v instanceof Long) {
return sp.getLong(k, (Long) v);
} else if (v instanceof Boolean) {
return sp.getBoolean(k, (Boolean) v);
} else if (v instanceof Float) {
return sp.getFloat(k, (Float) v);
}
return null;
}
/*使用如下,键值对存储*/
Utils.sp_put("token", token);
//获取数据时,第一个参数为key值,第二个为默认值(代表没有找到这个值的话,获取到的值就是默认值)
String token = (String) Utils.sp_get("token", "");
3、Toast的封装
public final class TToast {
private static Toast sToast;
public static void show(Context context, String msg) {
show(context, msg, Toast.LENGTH_SHORT);
}
public static void show(Context context, String msg, int duration) {
Toast toast = getToast(context);
if (toast != null) {
toast.setDuration(duration);
toast.setText(String.valueOf(msg));
toast.show();
} else {
Log.i("TToast", "toast msg: " + String.valueOf(msg));
}
}
@SuppressLint("ShowToast")
private static Toast getToast(Context context) {
if (context == null) {
return sToast;
}
return sToast;
}
public static void reset() {
sToast = null;
}
}
/*使用*/
TToast.show(上下文环境, "提示信息");
今天就总结这3个吧,其他的我会持续更新!不喜勿喷!!!
?
|