赞
踩
val apiService = Retrofit.Builder()
.baseUrl(“https://api.github.com/”)
.build().create(Api::class.java)
apiService.listRepos(“Rikkatheworld”).enqueue(object : Callback {
override fun onFailure(call: Call?, t: Throwable?) {
textview.text = t?.message
}
override fun onResponse(call: Call?, response: Response?) {
textview.text = call
}
})
}
老版本的Retrofit需要在构建请求时,声明函数类型为 Call
,这样可以回调到主线程,接着只要在回调方法中实现 onResponse()
和 onFailure()
的成功失败回调就行了。
1.2 使用协程的Retrofit
协程可以帮我们解决掉写回调的麻烦,所以我们可以把请求写在协程中,这也需要我们调用的Api函数需要被 @suspend
修饰
interface Api {
@GET(“user/{user}/repos”)
suspeend fun listRepos(@Path(“user”) user: String): ResponseBody
}
接着在代码中开一个协程来消除回调:
GlobalS
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。