Retrofit+Rxjava简单的网络请求
来源:互联网 发布:厦门三套网络电视台 编辑:程序博客网 时间:2024/05/23 11:45
//导入依赖
//Mainactivity类compile 'com.squareup.retrofit2:retrofit:2.0.1'compile 'com.squareup.retrofit2:converter-gson:2.0.1'compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1'compile 'io.reactivex:rxandroid:1.1.0'compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
//创建Apiservice接口类package android_rxjava.baway.com.retrofitandrxjava;import retrofit2.http.GET;import rx.Observable;/** * Created by C-PC on 2017/11/5. */public interface ApiService { /** * 结合Retrofit+RxJava * http://service.meiyinkeqiu.com/service/ads/cptj * @param * @return */ @GET("ads/cptj") Observable<News> getNoParams();}
package android_rxjava.baway.com.retrofitandrxjava;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import java.util.List;import retrofit2.Retrofit;import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;import retrofit2.converter.gson.GsonConverterFactory;import rx.Observable;import rx.Observer;import rx.android.schedulers.AndroidSchedulers;import rx.schedulers.Schedulers;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getNoParams(); } private void getNoParams() { Retrofit retrofit = new Retrofit.Builder().baseUrl(Api.BASE_PATH).addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .build(); ApiService apiService = retrofit.create(ApiService.class); Observable<News> observable = apiService.getNoParams();//生产事件 //被观察者订阅观察 默认在同一个线程 observable.subscribeOn(Schedulers.io())//指定IO做耗时操作 .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<News>() { @Override public void onCompleted() {//完成 } @Override public void onError(Throwable e) {//失败 // Log.i("xxx", e.getMessage()); } @Override public void onNext(News news) {//消费事件 List<News.AdsBean> ads = news.getAds(); for (int i = 0; i < ads.size(); i++) { News.AdsBean adsBean = ads.get(i); String gonggaoren = adsBean.getGonggaoren(); Log.i("xxx", gonggaoren); } } }); } ;}
//bean类
package android_rxjava.baway.com.retrofitandrxjava;import java.util.List;/** * 1. 类的用途 * 2. @author forever * 3. @date 2017/11/2 13:29 */public class News { private List<AdsBean> ads; private List<List<String>> dropdown; public List<AdsBean> getAds() { return ads; } public void setAds(List<AdsBean> ads) { this.ads = ads; } public List<List<String>> getDropdown() { return dropdown; } public void setDropdown(List<List<String>> dropdown) { this.dropdown = dropdown; } public static class AdsBean { /** * id : 126 * imgsrc : https://service.meiyinkeqiu.com/upload/back/ads/1127f70b-f163-4a25-886b-9fb057e30c77.png * url : https://service.meiyinkeqiu.com/service/infomation.html?id=676https://service.meiyinkeqiu.com/service/infomation.html?id=676https://service.meiyinkeqiu.com/service/infomation.html?id=676 * type : cptj * adsorder : 1 * typecn : null * gonggaoren : 黑龙江风骨科技有限公司 * timelength : 30 * state : 1 * ptime : 2017-10-28 18:26:51 * lianjietype : 内部 * docid : 676 * menuurl : hyzx * infotype : 1 */ private int id; private String imgsrc; private String url; private String type; private int adsorder; private Object typecn; private String gonggaoren; private int timelength; private int state; private String ptime; private String lianjietype; private String docid; private String menuurl; private String infotype; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getImgsrc() { return imgsrc; } public void setImgsrc(String imgsrc) { this.imgsrc = imgsrc; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getType() { return type; } public void setType(String type) { this.type = type; } public int getAdsorder() { return adsorder; } public void setAdsorder(int adsorder) { this.adsorder = adsorder; } public Object getTypecn() { return typecn; } public void setTypecn(Object typecn) { this.typecn = typecn; } public String getGonggaoren() { return gonggaoren; } public void setGonggaoren(String gonggaoren) { this.gonggaoren = gonggaoren; } public int getTimelength() { return timelength; } public void setTimelength(int timelength) { this.timelength = timelength; } public int getState() { return state; } public void setState(int state) { this.state = state; } public String getPtime() { return ptime; } public void setPtime(String ptime) { this.ptime = ptime; } public String getLianjietype() { return lianjietype; } public void setLianjietype(String lianjietype) { this.lianjietype = lianjietype; } public String getDocid() { return docid; } public void setDocid(String docid) { this.docid = docid; } public String getMenuurl() { return menuurl; } public void setMenuurl(String menuurl) { this.menuurl = menuurl; } public String getInfotype() { return infotype; } public void setInfotype(String infotype) { this.infotype = infotype; } }}//Api类
package android_rxjava.baway.com.retrofitandrxjava;/** * Created by C-PC on 2017/11/5. */public class Api { public static final String BASE_PATH = "http://service.meiyinkeqiu.com/service/"; public static final String BASE_URL = "https://api.github.com/";}
阅读全文
0 0
- Retrofit+Rxjava简单的网络请求
- 简单的MVP+Retrofit+RxJava请求网络数据(一)
- RxJava与Retrofit封装简单的网络请求(二)
- Retrofit + RxJava + OkHttp 让网络请求变的简单
- RXJava+Retrofit网络请求
- retrofit简单的网络请求
- RxJava + Retrofit完成网络请求
- Rxjava+Retrofit取消网络请求
- Retrofit+RxJava处理网络请求
- RxJava + Retrofit完成网络请求
- Retrofit+RxJava网络请求框架
- Retrofit+Rxjava完成网络请求
- RxJava + Retrofit让Android网络请求简单效率
- RxJava+Retrofit+OkHttp组合在网络请求中的简单配置
- Renovace :一款基于Retrofit & RxJava 实现简单易用的网络请求框架
- Retrofit+Rxjava 网络请求的简单封装(一)(观察者模式)
- 使用Retrofit和Rxjava让你的网络请求更简单
- Retrofit + RxJava + OkHttp 让网络请求变的简单-基础篇
- RXJava & Retrofit
- HashMap和Hashtable的区别
- 继承控件
- Who's Aunt Zhang HDU
- 主机通过sftp传输文件到某台服务器ubuntu虚拟机出现:open for write: permission denied
- Retrofit+Rxjava简单的网络请求
- 机器学习-python通过序列最小优化算法(SMO)方法编写支持向量机(SVM)
- 装饰模式
- word embedding
- Java学习心得
- html5动画
- Android开发艺术探索第一章笔记
- SGM(semi-global matching)算法原理
- VS2010控制台程序运行一闪而过的完美解决办法