关于launch和withContext如果有不明白的,参见我上一篇博客Kotlin语言中协程(Coroutines)的使用. 所以整个activity的代码如下: importandroidx.appcompat.app.AppCompatActivityimportandroid.os.Bundleimportandroid.util.Logimportandroid.view.Viewimportkotlinx.android.synthetic.main.activity_main.*importkotlinx.coroutines....
写在前面 在Android开发中的网络请求是一个十分重要的功能,它包含请求配置,发送数据,解析数据,状态展示,线程调度切换等等,在过去java开发中,我们通常使用retrofit和rxjava来简化网络请求的操作.今天我们来看看用Kotlin协程和retrofit来进行网络请求操作,比起rxjava,kotlin协程的优势是更容易理解和阅读,异步请求的写法和...
毕竟 kotlinx.coroutines 这样强大的框架还在襁褓当中,于是乎我写的几篇协程的文章几乎就是在告诉大家如...
// ===com/chs/androiddailytext/kotlin/AipInterface.class === // class version 50.0 (50) // access flags 0x601 public abstract interface com/chs/androiddailytext/kotlin/AipInterface { // access flags 0x401 // signature (Lkotlin/coroutines/Continuation<-Lcom/chs/androiddailytext/kotlin/WanB...
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.1" implementation "androidx.lifecycle:lifecycle-extensions:2.2.0" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0" implementation "com.squareup.okhttp3:okhttp:4.2.0" ...
后来,CoroutineCallAdapter废弃了,因为Retrofit自身有了支持方案,不需要使用者添加CallAdapter,ApiService接口方法可直接声明为suspend方法。 /Retrofit内置的Kotlin支持方案 / 为api接口方法添加suspend关键字 interfaceWeatherApiService{ @GET("weather/now.json") ...
Retrofit+kotlin协程(coroutines)的安全且优雅用法 retrofit是现今流行的网络请求框架,现今有了kotlin协程的加持,如虎添翼,通常用法如下: 1、定义rest接口 1 2 3 4 5 6 interfaceApi{ @POST("login") suspendfunloginByPassword( @Bodymap:LoginWrapper
https://paradisehell.org/2021/12/05/get-rid-of-try-catch-when-using-retrofit-with-kotlin-coroutines/ 1 背景 Retrofit 2.6.0 版本后对suspend方法进行了支持,对使用 kotlin 的开发者来说简直是福音, 但是执行 suspend 方法的时候异常处理仍然是件繁琐的事情,必须显示的执行try catch, 或者使用 kotlin 自带...
Kotlin协程实现原理:Suspend&CoroutineContext 如果你已经接触过协程,相信你都有过以下几个疑问: 协程到底是个什么东西? 协程的suspend有什么作用,工作原理是怎样的? 协程中的一些关键名称(例如:Job、Coroutine、Dispatcher、CoroutineContext与CoroutineScope)它们之间到底是怎么样的关系?
1' implementation "com.squareup.retrofit2:converter-gson:2.8.1" //Coroutine implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.6" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.6" 约定常见的错误类型 我们期望ApiException中也能够返回HTTP Code, 为此约定,错误信息...