简单的MVP+Retrofit+RxJava请求网络数据(一)
2017-06-16 19:53
597 查看
废话不多说,直接看代码就行了。
View层:
Model层:
Presenter层:
View层:
Bean里里面一定要有tostring()方法。
public interface service { @GET("cook/query?key=03c27b647366189ba474393177559ea7&menu=秘制红烧肉&rn=20&pn=0") Observable<bean> postfix( ); }
View层:
public interface IView { }
public class Persenter<T extends IView>{ private T homeView; public void attachView(T homeActivity) { this.homeView=homeActivity; } public T getHomeView() { return homeView; } }
public interface InLoginView<T> extends IView{ void callbackData(T t); void callbackErrer(String errcode); }
Model层:
public class HttpDataModel { public static void getLoginHttpData(String url, Observer observer){ Retrofit build = new Retrofit.Builder() .baseUrl(url) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .addConverterFactory(GsonConverterFactory.create()) .build(); service inPostfix = build.create(service.class); inPostfix.postfix() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(observer); } }
Presenter层:
public class LogInPersenter extends Persenter<InLoginView> { private String url="http://apis.juhe.cn/"; public void getLoginNwtWorkData() { HttpDataModel.getLoginHttpData(url, new Observer<bean>() { @Override public void onSubscribe( Disposable d) { } @Override public void onNext( bean o) { Log.e("zzzzzzzzzz : " , o.toString()); } @Override public void onError( Throwable e) { Log.e("zzzzzzzzzz--------- : " , e.toString()); } @Override public void onComplete() { } }); } }
View层:
public class MainActivity extends AppCompatActivity implements InLoginView<bean> { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LogInPersenter logInPersenter = new LogInPersenter(); logInPersenter.attachView(MainActivity.this); logInPersenter.getLoginNwtWorkData(); } @Override public void callbackData(bean bean) { Log.e("zzzzzz : ",bean.getResult().getData().get(0).getTitle()); } @Override public void callbackErrer(String errcode) { } }
Bean里里面一定要有tostring()方法。
相关文章推荐
- Retrofit+RxJava+MVP网络请求数据
- Retrofit+Rxjava简单的请求网络数据
- MVP+Retrofit+RxJava请求网络数据实现RecyclerView多条目展示
- 使用MVP+Retrofit+RxJava 图片加载使用Fresco 做网络请求并展示数据
- Android 框架设计Demo,一个简单的MVP示例搜索功能,网络请求用Retrofit+RxJava实现
- 使用Retrofit+RxJava搭建简单的MVP网络请求框架
- 使用MVP+Retrofit+RxJava 图片加载使用Fresco 做网络请求并展示数据
- android MVP+Retrofit2.0与RxJava网络请求数据,listview展示
- Retrofit+RxJava+Fresco图片加载框 请求网络数据
- MVP-简单的OkHttp网络请求数据
- kotlin for android----------MVP模式下(OKHttp和 Retrofit+RxJava)网络请求的两种实现方式
- Android 教你一步步搭建MVP+Retrofit+RxJava网络请求框架
- kotlin for android----------MVP模式下(OKHttp和 Retrofit+RxJava)网络请求的两种实现方式
- RxJava Retrofit2 网络请求,返回数据格式统一的数据报文处理方法
- Android三大设计模式之一------------------MVP设计模式(包括rxjava+retrofit网络请求框架)
- Retrofit + RxJava + OkHttp 让网络请求变的简单-封装篇
- Android 教你一步步搭建MVP+Retrofit+RxJava网络请求框架
- Retrofit + RxJava + OkHttp 让网络请求变的简单-基础篇
- 网络请求框架 Rxjava+ReTrofit+okHttp+MVP
- 使用Retrofit和Rxjava让你的网络请求更简单