android - Android 中的 AsyncTask 与 Kotlin

如何使用 Kotlin 在 Android 中进行 API 调用?

我听说过Anko .但我想使用 Kotlin 提供的方法,比如在 Android 中我们有 Asynctask 用于后台操作。

最佳答案

AsyncTask 是 Android API,而不是 Java 或 Kotlin 提供的 语言功能。如果你愿意,你可以像这样使用它们:

class someTask() : AsyncTask<Void, Void, String>() {
    override fun doInBackground(vararg params: Void?): String? {
        // ...
    }

    override fun onPreExecute() {
        super.onPreExecute()
        // ...
    }

    override fun onPostExecute(result: String?) {
        super.onPostExecute(result)
        // ...
    }
}

Anko 的 doAsync 并不是 Kotlin 真正“提供”的,因为 Anko 是一个使用 Kotlin 的语言特性来简化长代码的库。在这里检查:

  • https://github.com/Kotlin/anko/blob/d5a526512b48c5cd2e3b8f6ff14b153c2337aa22/anko/library/static/commons/src/Async.kt

如果您使用 Anko,您的代码将类似于:

doAsync {
    // ...
}

https://stackoverflow.com/questions/44525388/

相关文章:

input - 在 Kotlin 中读取控制台输入

android - 如何在 kotlin 中使用 Android Support typedef 注

android - 如何像在 Swift 中一样从 Kotlin 中的函数返回多个值?

kotlin - Kotlin 中的交换函数

java - 为 Kotlin 创建 POJO 类

java - Kotlin 获取类型为字符串

kotlin - 无需额外对象分配的数组/列表迭代

kotlin - 'by' 关键字在 Kotlin 中的作用是什么?

android - kotlin 和 ArgumentCaptor - IllegalStateEx

properties - Kotlin 中是否有 didSet/willSet 模拟?