buildscript { ext.kotlin_version = '1.1.61' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in...
先解释一下上述的代码,首先判断是不是普通的Java类的动态代理调用,如果是,则直接返回method.invoke(this,args)了。否则,继续往下走。platform.isDefaultMethod这句代码不用管,因为如果是Android平台,该方法永远返回false。最核心的地方来了: ServiceMethod<Object, Object> serviceMethod = (ServiceMethod<Object, Objec...
implementation 'com.squareup.retrofit2:retrofit:2.6.2'implementation'com.squareup.retrofit2:converter-gson:2.4.0'//多了三个需要依赖的RxJavaimplementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'implementation'io.reactivex.rxjava2:rxjava:2.2.2'implementation'io.reactivex.rxjava2:rxandroid:2...
如GsonConverter将JSON请求结果用Gson解析成Java对象abstractClient.Provider defaultClient();//Http请求类,如果是AppEngine就使用`UrlFetchClient`,否则如果有OKHttp就使用OKHttp,如果是Android,2.3以后使用HttpURLConnection,2.3以前使用HttpClientabstractExecutor defaultHttpExecutor();//用于执行Http请求的ExecutorabstractExe...
Android 开发中,从原生的HttpUrlConnection到经典的 Apache 的HttpClient,再到对前面这些网络基础框架的封装,比如Volley、Async Http Client,Http 相关开源框架的选择还是很多的,其中由著名的 Square 公司开源的Retrofit更是以其简易的接口配置、强大的扩展支持、优雅的代码结构受到大家的追捧。也正是由于 Square 家的框架...
Retrofit:A type-safe HTTP client for Android and Java。一个类型安全的Http 请求的客户端。 底层的网络请求是基于 OkHttp 的,Retrofit 对其做了封装,提供了即方便又高效的网络访问框架。 2.Retrofit的基本用法 class RetrofitActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?
Android工程师必备基础技能(一)注解Android工程师必备基础技能(二)泛型 由于本篇代码过多,字数上限,所以部分代码省略掉了,有兴趣的可以留言 1.Retrofit2.0原理解析 目前的网络框架基本上都是使用Retrofit+okhttp一起进行使用,那么我们来看看retrofit究竟做了些什么。 结合之前的OkHttp源码解析,在这个的基础上加上了...
可以看到,调用findPlatform()方法之后就回去判断对应的平台,具体实现的子类就是Android 和Java。 这里提一下我的小插曲,按照我之前分析okHttp的思路,okHttp里面也有Platform。所以我直接在Retrofit的包下找AndroidPlatform,结果发现没有,我就蒙圈了,后来才发现在Platform的内部类里面,汗... 由于我们针对Android平台关于...
线程切换是通过一开始创建Retrofit对象时Platform在检测到运行环境是Android时进行创建的:(之前已分析过) // 采用适配器模式 static class Android extends Platform { // 创建默认的回调执行器工厂 // 如果不将RxJava和Retrofit一起使用,一般都是使用该默认的CallAdapter.Factory // 后面会对RxJava和Retrofit一起使用...
简介:[Android]网络框架之Retrofit(kotlin) Retrofit简介 Retrofit是一款由Square公司开发的网络库,但是它和OkHttp的定位完全不同。 OkHttp侧重的是底层通信的实现,而Retrofit侧重的是上层接口的封装。 事实上,Retrofit就是Square公司在OkHttp的基础上进一步开发出来的应用层网络通信库,使得我们可以用更加面向对象的思维进行...