一个新的技术的出现,大家往往从学习到真正在项目中实践往往需要一个过程,这里面有非常多的因素,有个人学习成本的因素,有公司方面的因素等等,但是最重要的,其实还是这个新的技术,到底是不是真的有取代我们现有技术的必要。接下来我就带大家一起来用用协程吧。
okhttp异步请求
这是我们常规的一个异步请求,通过回调的方式来处理请求结果
fun enqueue() { ApiService.enqueue("/test", object : Callback {
override fun onResponse(call: Call, response: Response) {
runOnUiThread {
//切到主线程更新UI
tv_content.text = response.body.toString()
}
}
override fun onFailure(call: Call, e: IOException) {
}
})
}
使用协程的okhttp同步请求
这里先记住一句话,我们什么时候要用到协程的?
需要切换线程的时候要用到协程
所以想切到什么线程,就用GlobalScope.launch(Dispatchers.XX)切一下就好了,代码如下
fun execute() {
GlobalScope.launch(Dispatchers.Main) {
//切到子线程执行任务
var result