Retrofit和Rxjava的简单了解
2017-09-05 17:14
561 查看
Retrofit是由square公司开发的,是一个网络开发框架
1.首先使用它的时候,要先导入相关的jar包(一定要版本相同,否则运行的时候会报错)
2.定义一个接口类:
3.再单独写一个工具Utils类(导入包的时候注意别导错包)
4.然后在Main界面的点击事件中请求即可
5.
6.布局和modele类的封装就不传了,大家可自己简单写下(参照 网上自己写了写)。
1.首先使用它的时候,要先导入相关的jar包(一定要版本相同,否则运行的时候会报错)
compile 'io.reactivex:rxjava:1.1.0' compile 'io.reactivex:rxandroid:1.1.0' compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4' compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4' compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta4' compile 'com.google.code.gson:gson:2.6.2'
2.定义一个接口类:
public interface RestService{ @GET("top250") Observable<MovieBean> getTopMovie(@Query("start")int start, @Query("count")int count); }
3.再单独写一个工具Utils类(导入包的时候注意别导错包)
public class RestClient { private static final String BASE_URL = "https://api.douban.com/v2/movie/"; private Retrofit mRetrofit; private RestService mService; private static final int DEFAULT_TIMEOUT = 5; public RestClient(){ OkHttpClient.Builder builder = new OkHttpClient.Builder(); builder.connectTimeout(DEFAULT_TIMEOUT,TimeUnit.SECONDS); mRetrofit = new Retrofit.Builder() .baseUrl(BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .build(); mService = mRetrofit.create(RestService.class); } public RestService getRectService(){ if (mService != null){ return mService; } return null; } private static class SingletonHolder{ private static final RestClient INSTANCE = new RestClient(); } public static RestClient getInstance(){ return SingletonHolder.INSTANCE; } public void getTopMovie(Subscriber<MovieBean> subscriber, int start , int count){ mService.getTopMovie(start,count) .subscribeOn(Schedulers.io()) .unsubscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(subscriber); } }
4.然后在Main界面的点击事件中请求即可
findViewById(R.id.click_me_BN).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getMovie(); } });
5.
private void getMovie() { subscriber = new Subscriber<MovieBean>(){ @Override public void onCompleted() { Toast.makeText(MainActivity.this, "Get Top Movie Completed", Toast.LENGTH_SHORT).show(); } @Override public void onError(Throwable e) { } @Override public void onNext(final MovieBean responseBody) { runOnUiThread(new Runnable() { @Override public void run() { list = responseBody.getSubjects(); listView.setAdapter(new MovieAdapter(MainActivity.this,list)); } }); } }; RestClient.getInstance().getTopMovie(subscriber,0,10); }
6.布局和modele类的封装就不传了,大家可自己简单写下(参照 网上自己写了写)。
相关文章推荐
- Retrofit+Rxjava 的请求(简单了解)
- Retrofit+RxJava+Fresco简单实现数据展示
- Retrofit+RxJava 简单学习
- OkHttpUtils-2.0.0 升级后改名 OkGo,全新完美支持RxJava,比Retrofit更简单易用
- RxJava2和Retrofit2.0的简单使用
- Retrofit2.0和Rxjava结合使用的简单记录
- Android 简单封装 RxJava + Retrofit
- 使用RxJava+Retrofit+MVP+Glide开发一个简单的新闻客户端
- 天气预报项目学习总结(- ButterKnife - Retrofit 2.0(okhttp) - Rxjava - Jackson - Ormlite - Mosby简单使用总结)
- OkRx扩展,让OkGo完美结合RxJava,比Retrofit更简单易用
- MVP+RXJAVA+Retrofit+Fresco实现简单的效果
- Retrofit2+RxJava+OkHttp项目直接使用(简单快捷)
- MVP+retrofit+rxjava+Knife的简单使用
- Android Retrofit2.0+RxJava简单示例
- Retrofit 和 RxJava的简单使用以及简单封装
- Retrofit + RxJava + OkHttp 让网络请求变的简单
- Retrofit+Rxjava 网络请求的简单封装(一)(观察者模式)
- 简单MVP-Retrofit-Rxjava-OKhttp
- Retrofit + RxJava + OkHttp 让网络请求变的简单-基础篇
- rxjava+retrofit简单demo