本篇文章次要讲的是,kotlin 协程在 ktx 上的扩大

lifecycle 扩大
对于 lifecycle 的扩大,曾经在 以前的文章中讲过了

次要的依赖

implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.2.0"

viewModel 扩大
对于 viewModel 的扩大,曾经在 以前的文章中讲过了

次要的依赖

implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'

liveData 扩大
次要的依赖

 implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0'

官网链接如下:

具体应用举例如下:

class MainActivity : AppCompatActivity() {    val user: LiveData<String> = liveData {        //模仿网络申请        var user = getUser()        if (user == "ok") {            //模仿申请胜利            emit("ok")        } else {            //模仿申请失败            emit("failed")        }    }    /**     * 模仿网络申请     */    suspend fun getUser(): String {        var ret = withContext(Dispatchers.Default) {            "ok"        }        return ret    }    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)        user.observe(this, {            Log.d("yy--", "name1:$it")        })    }}