这篇文章主要介绍了Android怎么使用Coroutine + Retrofit打造简单的HTTP请求库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
基于 kotlin/coroutine/retrofit/jetpack 打造,100来行代码,用法超级简单舒适
设置默认Retrofit工厂和全局错误处理程序
HttpCall.init(retrofitFactory = {
// ...
}, errorHandler = { throwable ->
// ...
})
基本用法
data class Reault(val data:String)
interface TestService {
@GET("test")
fun test(): Call<Reault>
}
// 在 activity/fragment 中使用,获取请求结果
http<TestService>().test().result(this) {
// it 是 Reault
}
// 在 activity/fragment 中使用,获取请求响应对象
http<TestService>().test().response(this) {
// it 是 Response<Result>
}
显示请求状态,基于 HttpCall扩展出 withSpinning 方法
fun <T : Any> HttpCall<T>.withSpinning(activity: FragmentActivity, spinning: Boolean = false, text: String = ""): HttpCall<T> {
activity.apply {
if (isFinishing || isDestroyed) return@apply
val dialog = showLoading(spinning, text)
finally { dialog.dismiss() }
}
return this
}
http<TestService>().test().result(this) {
Log.e("api", it.data)
}.withSpinning(this)
引入
https://github.com/czy1121/httpcall
repositories {
maven { url "https://gitee.com/ezy/repo/raw/android_public/"}
}
dependencies {
implementation "me.reezy.jetpack:httpcall:0.4.0"
}
感谢你能够认真阅读完这篇文章,希望小编分享的“Android怎么使用Coroutine + Retrofit打造简单的HTTP请求库”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。