retrofit2.0

Retrofit2.0结合RxAndroid实现二次封装

你说的曾经没有我的故事 提交于 2020-04-06 19:47:13
实Retrofit2.0结合RxAndroid现网络请求网上有很多文章,这里不再详细介绍 Retrofit基本是一个业务请求,对应一个接口方法,因为其返回值不支持泛型,只能是具体的类。好处是结构清楚,缺点是业务请求就耦合的网络接口,如果以后想分离网络就很麻烦。而且开发人员还要同时定义每个业务的请求接口,和具体的请求方式,对于大型APP,工作量很大,而且容易出错。 本文主要介绍如何对Retrofit2.0+RxAndroid封装成网络层,对业务使用隔离,使用者不需要知道网络框架使用的是哪种技术,只需要使用通用的接口,即可实现不同业务请求的调用。 下面这种泛型返回类型,Retrofit在运行是会报错,啃爹啊。 @GET(ACTION_URL) <T extends BaseResult> Observable<T> requestNetwokData(@Query("a") String type, @QueryMap Map<String, String> options); 下面是变相的实现方式,基本技术不变,只是在服务器返回数据时做了一个简单的处理。 1. 返回的数据使用OKHttp原始的类型ResponseBody 2. 数据返回后,通过RxAndroid的map方法,强制根据调用者要求的类型进行转换 @GET(ACTION_URL) Observable

Android Http通讯模块封装

只愿长相守 提交于 2019-12-02 21:43:39
大多数的Android应用程序都会使用HTTP协议来发送和接收网络数据,而Android中主要提供了两种方式来进行HTTP操 作,HttpURLConnection和HttpClient。这两种方式都支持HTTPS协议、以流的形式进行上传和下载、配置超时时间、IPv6、 以及连接池等功能。 现在开源的http模块有很多啊, Retrofit,Volley,Android-async-http, Afinal框架 , xUtils框架, 这些开源框架各有各得特点,volley是Google 自家的,大家会根据自己的需求去选用某个框架, http://code.csdn.net/news/2824121 但是也会有些项目就只有简单的Post ,get请求,并发访问也不是很多,但是用框架感觉拓展新不好,和业务处理逻辑契合度不是很好,也许你可以试试自己封装一个http访问模块,基于HttpURLConnect. 然而我会建议自己使用retrofit2.0(+okhttp) https://github.com/AnyLifeZLB/Retrofit2.0_Demo 来源: oschina 链接: https://my.oschina.net/u/166646/blog/494415