转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/119831011 本文出自【赵彦军的博客】
本篇文章主要讲的是,kotlin 协程在 ktx 上的扩展
lifecycle 扩展
对于 lifecycle 的扩展,已经在 以前的文章中讲过了
https://blog.csdn.net/zhaoyanjun6/article/details/106413283
主要的依赖
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.2.0"
viewModel 扩展
对于 viewModel 的扩展,已经在 以前的文章中讲过了
https://blog.csdn.net/zhaoyanjun6/article/details/106413283
主要的依赖
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'
liveData 扩展
主要的依赖
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0'
官网链接如下:
https://developer.android.google.cn/topic/libraries/architecture/coroutines
具体使用举例如下:
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")
})
}
}
|