Retrofit2 与 协程 结合,网络请求框架
前言
之前撸过一个 RxJava 版本的 网络请求框架 RxJava 版本,协程版本是在RxJava版本基础上去除了 RxJava 替换成了 协程,下面介绍一下差别的地方,文末会 给出 Github 地址,有兴趣的小伙伴可以自行查看
下载
Step 1. Add the JitPack repository to your build file
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://www.jitpack.io' }
}
}
复制代码
Step 2. Add the dependency
dependencies {
implementation 'com.github.JiangHaiYang01:RxHttp:0.0.2'
}
复制代码
当前最新版本
使用
绑定生命周期
使用上几乎和 RxJava 版本相同,但是因为协程的特性,绑定生命周期的事情交给协程去处理了
Get
private fun getRequest() {
launch {
Log.i(TAG, "get 方法启动 线程 ${Thread.currentThread().name}")
val data = rxHttp
.create()
.addParameter("k", "java")
.doGet(parameter = "wxarticle/chapters/json", tClass = TestBean::class.java)
Log.i(TAG, "收到响应 $data thread ${Thread.currentThread().name}")
rxHttp.checkResult(data, {
Log.i(TAG, "success ${Thread.currentThread().name} info $it ")
log.text = it.toString()
}, {
Log.i(TAG, "error ${Thread.currentThread().name} info ${it.toString()} ")
log.text = it.toString()
})
}
}
复制代码
Post
private fun postRequest() {
launch {
val data = rxHttp
.create()
.addParameter("title", "123456")
.addParameter("author", "123456")
.addParameter("link", "123456")
.doPost("lg/collect/add/json", TestBean::class.java)
rxHttp.checkResult(data, {
log.text = it.toString()
}, {
log.text = it.toString()
})
}
}
复制代码其他使用和 RxJava版本相同
Github
点击查看Github
博客
博客

关于找一找教程网
本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[Retrofit2 与 协程 结合,网络请求框架]http://www.zyiz.net/tech/detail-140931.html
本文介绍了如何将Retrofit2与协程整合,用于网络请求。相较于RxJava版本,协程版简化了生命周期管理,通过示例展示了GET和POST请求的实现。在使用上,只需调用launch进行网络请求,并通过协程处理结果。文章提供了Github链接供读者下载和进一步了解。
6465

被折叠的 条评论
为什么被折叠?



