public abstract class BasePersenter {
ShopPersenter shopPersenter;
private DataCall dataCall;
public BasePersenter(DataCall dataCall) {
this.dataCall = dataCall;
}
public void requestData(Object...args ){
IRquest iRquest = HttpUtil.getInstance().create(IRquest.class);
getModel(iRquest,args)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.onErrorReturn(new Function<Throwable,Result>() {
@Override
public Result apply(Throwable o) throws Exception {
o.printStackTrace();
return new Result<>("5000",o.getMessage());
}
})
.subscribe(new Consumer<Result>() {
@Override
public void accept(Result o) throws Exception {
if ("0000".equals(o.status)){
dataCall.success(o.result);
}else {
dataCall.fail(o);
}
}
});
}
protected abstract Observable getModel(IRquest iRquest, Object...args);
public void doStory(){
if (shopPersenter!=null){
shopPersenter=null;
}
System.gc();
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
package movie.bw.com.week2moni.core;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import butterknife.BindView;
import butterknife.ButterKnife;
public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutId());
ButterKnife.bind(this);
initView(savedInstanceState);
}
protected abstract void initView(Bundle savedInstanceState);
protected abstract int getLayoutId();
}