创建包
api
bean
callBack
model
presenter
view
api里面写
OneApiServer
String baseUrl="http://gank.io/api/data/";
@GET("%E7%A6%8F%E5%88%A9/20/1")
Observable<DayEightBean>getData();
bean写bean包
callback(interface)里面写
//成功
void onSuccess(List<Bean> bean);
//失败
void onFail(String fail);
!!model里写
··Model
public interface Model {
void getData(OneCallBack oneCallBack);
}
ImpModel
public class ImpNewsMedel extends Activity implements NewsModel {
private int page=0;
public static int clear(int a){
return a=0;
}
public void onResume() {
super.onResume();
}
@Override
public void getNewlsit(final FlCallback flCallback) {
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.baseUrl(NewsServer.baseUrl)
.build();
NewsServer newsServer = retrofit.create(NewsServer.class);
Observable<NewsBean> observable = newsServer.getUrl("20/"+page+++"");
observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<NewsBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(NewsBean newsBean) {
flCallback.onSuccess(newsBean);
}
@Override
public void onError(Throwable e) {
flCallback.onFail("net error:"+e.getMessage());
}
@Override
public void onComplete() {
}
});
}
}
presenter里写
··Presenter
public interface NewsPresenter {
void getData();
}
ImpPresenter
public class Imppresenter implements Adpresenter, Adcallback {
private Admodel admodel;
private Adview adview;
public Imppresenter(Impmodel impmodel, Adview adview) {
this.admodel = impmodel;
this.adview = adview;
}
@Override
public void getData() {
if (admodel!=null){
admodel.getData(this);
}
}
@Override
public void onSuccess(AdBean adBean) {
if (adview!=null){
adview.onSuccess(adBean);
}
}
@Override
public void onFail(String fail) {
if (adview!=null){
adview.onFail(fail);
}
}
View
public interface NewsView {
void onSuccess(NewsBean newsBean);
void onFail(String error);
}
网友评论