Android代码规范化:抽取Activity基类

来源:互联网 发布:罗素名言 知乎 编辑:程序博客网 时间:2024/05/21 06:36

今天是个特殊的日子,首先呢,今天是5月的第二个周日,母亲节。在这里先祝天下的母亲们身体健康。其次,今天是秦皇岛国际马拉松。又一个体育盛事。再然后,不得不说的一点是,今天天气特别好,同学还拍到了一朵心形的云朵。也许表达的就是对母亲的祝福吧!
嘿嘿。今天就说下Android代码规范化的内容,抽取Activity基类。好处呢?第一,可以规范代码,增强代码的可读性。第二就是减少代码量,让逻辑更清楚,第三,定义共性的方法和变量,避免代码重复。

import android.app.Activity;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.FragmentActivity;import android.util.Log;import android.view.View;import android.widget.Toast;import com.weichao.mobileplayer.R;/** * @ 创建时间: 2017/5/14 on 10:44. * @ 描述: Activity基类 * @ 作者: 郑卫超 QQ: 2318723605 */public abstract class BaseActivity extends FragmentActivity implements View.OnClickListener {    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //得到布局文件        setContentView(getLayoutId());        initView();        initData();        initLlistenr();        registComBtn();    }    /**     * 注册共性的控件     */    private void registComBtn() {        View back = findViewById(R.id.back);        if (back!=null){            back.setOnClickListener(this);        }    }    /**     * 对统一的按钮进行统一处理     * @param v 点击的View     */    @Override    public void onClick(View v) {        switch (v.getId()) {            //大部分都有的控件的点击事件,在基类里处理            case R.id.back://(返回键为例) 生成ids.xml文件                this.onBackPressed();                break;            default:                processClick(v);                break;        }    }    protected abstract int getLayoutId();    /**     * 初始化View     */    public abstract void initView() ;    /**     * 初始化数据     */    protected abstract void initData();    /**     * 初始化监听器     */    protected abstract void initLlistenr();    protected abstract void processClick(View v);    /**     * 吐司     */    public void showToast(String msg){        Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();    }    /**     * log     */    public void LogE(String msg){        Log.e("zwc", "LogE: "+msg);;    }}
0 0