定义:
完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;就可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步骤去调用其每个步骤的实现方法。每个步骤的具体实现,由子类完成。(实质就是继承的思想)
代码
public abstract class BaseActivity extends AppCompatActivity {
protected Context mContext;
protected Unbinder unbinder;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
setContentView(setContentView());
unbinder = ButterKnife.bind(this);
initView();
initData();
}
/**
* 设置布局
*/
protected abstract int setContentView();
/**
* 启动activity
*
* @param clazz
*/
protected void startActivity(Class<?> clazz) {
Intent intent = new Intent(this, clazz);
startActivity(intent);
overridePendingTransition(R.anim.alpha_enter, R.anim.alpha_exit);
}
/**
* 初始化布局
*/
protected abstract void initView();
/**
* 初始化数据
*/
protected abstract void initData();
@Override
public void onBackPressed() {
back();
}
/**
* 返回
*/
protected void back() {
finish();
overridePendingTransition(R.anim.alpha_enter, R.anim.alpha_exit);
}
@Override
protected void onDestroy() {
unbinder.unbind();
super.onDestroy();
}
}
源码中的应用
AsyncTask
网友评论