基本的基类
public abstract class Base_Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//沉浸式状态栏
setStateSteep(true);
//初始化布局
setContentView(initLayout());
//初始化控件
initView();
//初始化数据
initData();
//设置监听
setListener();
}
/**
* 初始化布局
* */
protected abstract int initLayout();
/**
* 初始化控件
* */
protected abstract void initView();
/**
* 初始化数据
* */
protected abstract void initData();
/**
* 设置监听
* */
protected abstract void setListener();
/**
* 沉浸式状态栏
* */
public void setStateSteep(boolean flag){
if(flag){
// 沉浸效果
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
// 透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
// 透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
}
}
/**
* 跳转
* */
public void startActivity(Class> clazz,boolean flag){
startActivity(clazz,flag,null);
}
/**
* 跳转,重载
* 实现传值,和跳转后的finish
* */
public void startActivity(Class> clazz, boolean flag, Bundle bundle){
Intent intent = new Intent(this, clazz);
if(bundle != null){
intent.putExtra("mm",bundle);
}
startActivity(intent);
if(flag == true){
finish();
}
}
/**
* 判断网络
* */
public static boolean isNetwork(Context context){
//获取系统服务,连接服务
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(context.CONNECTIVITY_SERVICE);
//获取活动的网络信息
NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo();
//可用网络不为空且可用的话,说明有网
return activeNetworkInfo != null && activeNetworkInfo.isAvailable();
}
}
Sp存储值的封装
/**
* date:2019/1/3
* author:辉(家辉辉辉)
* function:SP存储的封装
* 使用:例:
* Utils_SharePreferences.putBoolean(this,"ismy",true);
* Utils_SharePreferences.putFloat(this,"myfloat",23.45f);
*
* Log.e(getLocalClassName(),Utils_SharePreferences.getBoolean(this,"ismy",false)+"");
* Log.e(getLocalClassName(),Utils_SharePreferences.getFloat(this,"myfloat",0.0f)+"");
*/
public class Utils_SharePreferences {
private static SharedPreferences sp = null;
/**
* 将一个boolean值存入sp文件中
* @param ctx 上下文
* @param key 存储节点名称
* @param value 存储节点的值
*/
public static void putBoolean(Context ctx, String key, boolean value){
//如果sp为空,则获取创建一个sp对象
if(sp == null){
sp = ctx.getSharedPreferences("config",Context.MODE_PRIVATE);
}
//获取sp编辑器,放入bool值,并提交
sp.edit().putBoolean(key,value).commit();
}
/**
* 根据key读取一个boolean值value,没有的话使用defvalue代替
* @param ctx
* @param key
* @param defvalue
*/
public static boolean getBoolean(Context ctx, String key, boolean defvalue){
//如果sp为空,则获取创建一个sp对象
if(sp == null){
sp = ctx.getSharedPreferences("config",Context.MODE_PRIVATE);
}
boolean b = sp.getBoolean(key, defvalue);
return b;
}
/**
* 将一个String值存入sp文件中
* @param context 上下文
* @param key 存储节点名称
* @param value 存储节点的值
*/
public static void putString(Context context,String key,String value){
if(sp == null){//如果sp文件不存在,则创建该文件
sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);
}
sp.edit().putString(key, value).commit();
}
/**
* 从sp中根据key取出String值
* @param context 上下文
* @param key 存储节点名称
* @param defValue 存储节点默认值
* @return string
*/
public static String getString(Context context,String key,String defValue){
if(sp == null){//如果sp文件不存在,则创建该文件
sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);
}
String string = sp.getString(key, defValue);
return string;
}
/**
* 移除sp中的一个节点
* @param context 上下文环境
* @param key 节点名称
*/
public static void removeFromSP(Context context, String key) {
if(sp == null){//如果sp文件不存在,则创建该文件
sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);
}
final SharedPreferences.Editor edit = sp.edit();
edit.remove(key);
}
/**
* 从sp中根据key取出int值
* @param context
* @param key
* @param defValue
* @return
*/
public static int getInt(Context context, String key, int defValue) {
if(sp == null){//如果sp文件不存在,则创建该文件
sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);
}
int i = sp.getInt(key, defValue);
return i;
}
/**
* 将一个int值存入sp文件中
* @param context
* @param key
* @param value
*/
public static void putInt(Context context,String key,int value){
if(sp == null){//如果sp文件不存在,则创建该文件
sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);
}
sp.edit().putInt(key, value).commit();
}
/**
* 从sp中根据key取出float值
* @param context
* @param key
* @param defValue
* @return
*/
public static float getFloat(Context context, String key, float defValue) {
if(sp == null){//如果sp文件不存在,则创建该文件
sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);
}
float i = sp.getFloat(key, defValue);
return i;
}
/**
* 将一个float值存入sp文件中
* @param context
* @param key
* @param value
*/
public static void putFloat(Context context,String key,float value){
if(sp == null){//如果sp文件不存在,则创建该文件
sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);
}
sp.edit().putFloat(key,value).commit();
}
/**
* 从sp中根据key取出int值
* @param context
* @param key
* @param defValue
* @return
*/
public static Set getStringSet(Context context, String key, Set defValue) {
if(sp == null){//如果sp文件不存在,则创建该文件
sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);
}
Set sets = sp.getStringSet(key, defValue);
return sets;
}
/**
* 将一个int值存入sp文件中
* @param context
* @param key
* @param sets
*/
public static void putStringSet(Context context,String key,Set sets){
if(sp == null){//如果sp文件不存在,则创建该文件
sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);
}
sp.edit().putStringSet(key,sets).commit();
}
}