RxJava+Retrofit+MVP框架
来源:互联网 发布:软件布道师 编辑:程序博客网 时间:2024/05/16 04:38
抽取基类
Presenter基类
public class BasePresenter<V> {
// V 相当于V的接口
public V view;
/**
* Presenter 持有View 的接口
* @param v
*/
public void attach(V v){
this.view = v ;
}
/**
* Presenter 释放持有View的接口, 防止内存泄漏
*/
public void detach(){
this.view = null;
}
Activity基类
public abstract class BaseMvpActivity<V,T extends BasePresenter<V>> extends Activity {
// class BaseMvpActivity<LoginView,LoginPresenter extends BasePresneter<LoginView>> extends Activity {
public T t;
public abstract T initPresenter();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
t = initPresenter();
}
@Override
protected void onResume() {
super.onResume();
t.attach((V) this);
}
@Override
protected void onDestroy() {
super.onDestroy();
t.detach();
}
}
主Activity
public class LoginActivity extends BaseMvpActivity<LoginView,LoginPresenter> implements LoginView {
@Override
public LoginPresenter initPresenter() {
return new LoginPresenter();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login2);
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
t.login("muhanxi","password");
}
});
}
@Override
public void success(Bean bean) {
System.out.println("ok" + bean.toString());
}
@Override
public void failure() {
}
}
- RxJava+Retrofit+MVP框架
- MVP+Retrofit+RxJava+Dagger框架
- Rxjava + retrofit + dagger2 + mvp搭建Android框架
- 网络请求框架 Rxjava+ReTrofit+okHttp+MVP
- 优雅的使用MVP+RxJava+Retrofit框架
- 搭建MVP+Retrofit+RxJava框架详解
- Retrofit+RXJava+MVP的框架搭建
- Android Mvp快速搭建框架MVP+Dagger2+Retrofit+Rxjava
- MVP+Dagger2+Retrofit+Rxjava
- Retrofit实践(MVP+RxJava)
- Rxjava+MVP+Retrofit强强联合
- MVP、Retrofit、RxJava、RxBus
- Rxjava+retrofit+mvp整合
- MVP+retrofit+rxjava
- Android MVP +Retrofit+RxJava
- 最新Retrofit + RxJava + MVP
- MVP+Retrofit+Rxjava实战
- RxJava+Retrofit+MVP+Dagger2
- 怎样往阿里云windows服务器传文件
- 计算机网络系列(9)之应用场景Large web server systems
- Maven项目报错:Project configurator "com.springsource.sts.ide.maven.core.springProjectConfigurator"
- 【菜鸟玩Linux开发】Redis安装和自启动配置
- origin作图所用数据点太多,做图时需要跳过数个数据给一个标记的方法
- RxJava+Retrofit+MVP框架
- 使用opengl开饭
- JS-给按钮循环设置匿名函数的问题
- Hive简单查询的Fetch Task功能与实战
- HDU
- 人工智能时代,你的数学基础够用吗?
- vue实现stickUp的效果
- ubuntu16.04登录后无dash,无启动栏launch,无menu bar,只有桌面背景解决办法
- Python入门 第六天(模块、面向对象、类和实例)