基类,和封装的实际使用

基本的基类

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();

    }


}

你可能感兴趣的:(小模块)