1.创建Retrofit对象

val retrofit = Retrofit.Builder()
.baseUrl(SimpleService.API_URL)
.addConverterFactory(GsonConverterFactory.create())
.build()

2.创建Service接口

val github = retrofit.create(GitHub::class.java)

retrofit.create方法为Service创建动态代理,可以说是Retrofit的核心。

3.创建调用API的Call对象

val call = github.contributors("square", "retrofit")

1.当调用Service中定义的方法时,会调用retrofit.create创建的动态代理,调用Proxy.newProxyInstance中InvocationHandler的invoke方法,创建流程如下:

4.发起网络请求

val contributors = call.execute().body()!!

请求网络的流程如下:

异步请求和同步类似,这里就不分析了。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注