最近新入职一家公司发现架构用的是mvp但写的并不好,尤其是在将页面下的所有接口反回的数据都回调在activity里完全违背了mvp的解耦原则,所以自己写了一个就当练习了还没有应用到正式项目中 如果大家看看发现问题请指出勿喷 我也是希望能帮到大家 。
BaseActivity
import android.app.Activity;
import android.os.Bundle;
import com.example.mvp.presenter.BasePresenter;
import java.lang.reflect.ParameterizedType;
public abstract class BaseActivity<T extends BasePresenter> extends Activity {
T presenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutId());
try {
ParameterizedType ptype = (ParameterizedType) this.getClass().getGenericSuperclass();
Class clazz = (Class<T>) ptype.getActualTypeArguments()[0];
presenter = (T) clazz.newInstance();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();