MVP+Retrofit+RxJava实践小结,此Sample最初是Android MVP示例,后来融合Retrofit和RxJava,供参考。
效果预览

代码演示
public class MainActivity extends MvpActivity<MainPresenter> implements MainView {
@Bind(R.id.text)
TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
initToolBarAsHome("MVP+Retrofit+Rxjava");
}
@Override
protected MainPresenter createPresenter() {
return new MainPresenter(this);
}
@Override
public void getDataSuccess(MainModel model) {
//接口成功回调
MainModel.WeatherinfoBean weatherinfo = model.getWeatherinfo();
String showData = getResources().getString(R.string.city) + weatherinfo.getCity()
+ getResources().getString(R.string.wd) + weatherinfo.getWD()
+ getResources().getString(R.string.ws) + weatherinfo.getWS()
+ getResources().getString(R.string.time) + weatherinfo.getTime();
text.setText(showData);
}
@Override
public void getDataFail(String msg) {
toastShow("网络不给力");
}
@Override
public void showLoading() {
showProgressDialog();
}
@Override
public void hideLoading() {
dismissProgressDialog();
}
@OnClick({R.id.button1, R.id.button2})
public void onClick(View view) {
switch (view.getId()) {
case R.id.button1:
//普通写法
loadData();
break;
case R.id.button2:
//MVP+Retrofit+Rxjava
mvpPresenter.loadData("101310222");
break;
}
}
private void loadData() {
showProgressDialog();
addSubscription(apiStores.loadData("101190201"),
new ApiCallback<MainModel>() {
@Override
public void onSuccess(MainModel model) {
MainModel.WeatherinfoBean weatherinfo = model.getWeatherinfo();
String showData = getResources().getString(R.string.city) + weatherinfo.getCity()
+ getResources().getString(R.string.wd) + weatherinfo.getWD()
+ getResources().getString(R.string.ws) + weatherinfo.getWS()
+ getResources().getString(R.string.time) + weatherinfo.getTime();
text.setText(showData);
}
@Override
public void onFailure(int code, String msg) {
toastShow(msg);
}
@Override
public void onFinish() {
dismissProgressDialog();
}
});
}
}详见博客
Android MVP+Retrofit+RxJava实践小结
推荐阅读
源码地址
微信公众号
欢迎微信扫一扫关注:不止于技术分享,每天进步一点点。
