RxJava+Retrofit+Gson实现网络请求
2016-05-05 12:49
609 查看
RxJava+Retrofit+Gson+okHttp完美组合,真的是太强大了,实现网络请求那是so easy。简洁,高效,扩展性强。对这些框架还不熟悉的,感觉去自学撸代码。
可以看我前几篇文章:
1,搭建本地server,响应Android客户端HTTP请求
2,OKHTTP实战
3,Retrofit2.0+网络框架HTTP实战
先贴RxJava+Retrofit代码,有空再来分享。
result=OairWifiBean{result=0, result_msg=’succ’, data=WifiInfo{ssid=’DuQian+2016’, encryption=’psk2’, key=’12345678’}}
“`
可以看我前几篇文章:
1,搭建本地server,响应Android客户端HTTP请求
2,OKHTTP实战
3,Retrofit2.0+网络框架HTTP实战
先贴RxJava+Retrofit代码,有空再来分享。
一,apiService接口:
public interface OairApiService { @GET("getwifi") Call<OairWifiBean> getWifiInfo();//普通的retrofit @GET("getwifi") Observable<OairWifiBean> getOairWifiInfo();//RxJava }
二,实现异步get请求,并实现json的封装
/** * 获取设备的wifi信息 */ private void getOairWifiInfo(final String ip_address) { String baseUrl = ip_address+"cgi-bin/"; LogUtils.debug(TAG,"baseUrl= "+baseUrl); Retrofit retrofit = new Retrofit.Builder() .baseUrl(baseUrl) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .build(); OairApiService apiService = retrofit.create(OairApiService.class); apiService.getOairWifiInfo() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Subscriber<OairWifiBean>() { @Override public void onCompleted() { ll_init_loading.setVisibility(View.GONE); LogUtils.debug(TAG,"onCompleted"); } @Override public void onError(Throwable e) { LogUtils.debug(TAG,"error="+ip_address+e.toString()); } @Override public void onNext(OairWifiBean oairWifiBean) { LogUtils.debug(TAG,"result="+oairWifiBean.toString()); // } }); }
三,对json封装,返回javaBean对象
自己根据后台提供的json数据,封装javaBean,本例中:{"result":0,"result_msg":"succ", "data":{"ssid":"DuQian+2016","encryption":"psk2","key":"12345678"}} public class OairWifiBean implements Serializable { public int result; public String result_msg; public WifiInfo data; public class WifiInfo{ public String ssid;//wifi名称 public String encryption;//加密方式 public String key;//wifi密码 } @Override public String toString() { return "OairWifiBean{" + "result=" + result + ", result_msg='" + result_msg + '\'' + ", data=" + data + '}'; } }
get请求后,经过Gson解析,返回OairWifiBean对象,toString结果:
result=OairWifiBean{result=0, result_msg=’succ’, data=WifiInfo{ssid=’DuQian+2016’, encryption=’psk2’, key=’12345678’}}
“`
四,总结
本文只是以一个简单的demo为例,介绍了retrofit+Rxjava+Gson+OKHttp的完美结合使用,简单大气上档次。很多实用的功能, 未完待续,杜乾,Dusan,Q 291902259,欢迎交流。相关文章推荐
- Winsock网络编程客户端
- Winock2网络编程服务器端
- HTTP - Session 机制
- Apache主配置文件httpd.conf 详解
- 最全的tcpdump使用详解
- HttpClientGetPost_MultiThreading_ResumeFromBreakPoint
- 使用ntopng,在Linux上搭建基于Web的网络流量监控系统
- HTTP详解(3)-http1.0 和http1.1 区别
- HTTP详解(1)-工作原理
- HTTP详解(2)-请求、响应、缓存
- Python实现HTTP-Basic认证登陆
- springmvc 实现http接口 接受json参数
- 使用GraphViz画caffe网络结构图
- Windows7如何实现笔记本电脑无线网络共享的详细图文教程
- 两大Http外交官HttpURLConnection和HttpClient(一)
- 机器学习中使用神经网络第三讲笔记
- 使用C#的HttpWebRequest模拟登陆网站
- 情感分析︱网络公开的免费文本语料训练数据集汇总
- http协议详解
- SOCKET API和TCP STATE的对应关系