一、前言
Retrofit目前火的不行,且与Rxjava可以完美配合,所以在此尝试将其进一步封装,代码实现不多,更多的是思考与探索。有兴趣可以看看这种架构模式。小弟学习阶段,大神路过欢迎指点。
二、先看封装后的调用
不浪费大家时间,看调用与开发是否方便。
- MainActivity:
public class MainActivity extends AppCompatActivity implements LoginView<User> {
private LoginPresenter loginPresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
loginPresenter = new LoginPresenter(this);
loginPresenter.onResume();
loginPresenter.login();
}
@Override
public void onDataCallBack(User data) {
//请求成功的数据
}
@Override
public String getAccount() {
return "123456";
}
@Override
public String getPassword() {
return "123456";
}
@Override
protected void onDestroy() {
super.onDestroy();
loginPresenter.onStop();
}
}
2.LoginPresenter:
public class LoginPresenter extends Presenter<LoginView> {
public LoginPresenter(LoginView view) {
super(view);
}
/**
* 登录
*/
public void login() {
Observable<HttpResponse<User>> data = RetrofitModule.getInstance()
.getApiService()
.login(view.getAccount(),view.getPassword());
execute(data);
}
}
3.LoginView:
public interface LoginView<D> extends PresenterView<D> {
String getAccount();
String getPassword();
}
Ok就这些,调用就是activity里那些逻辑 ,是否方便呢?
开发是写一个LoginPresenter 一个 Loginview是否方便呢?
稍后补充,框架结构。