前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android Kotlin Coroutines ktx扩展

Android Kotlin Coroutines ktx扩展

原创
作者头像
易寒
发布2022-01-11 19:44:24
3730
发布2022-01-11 19:44:24
举报
文章被收录于专栏:Android知识Android知识

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

lifecycle 扩展

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

主要的依赖

代码语言:txt
复制
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.2.0"

viewModel 扩展

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

主要的依赖

代码语言:txt
复制
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'

liveData 扩展

主要的依赖

代码语言:txt
复制
 implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0'

官网链接如下:

具体使用举例如下:

代码语言:txt
复制
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")
        })

    }
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com