本篇文章主要讲的是,kotlin 协程在 ktx 上的扩展
【Android Kotlin Coroutines 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 = https://www.it610.com/article/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")
})}
}
推荐阅读
- 【Android进阶】kotlin 委托
- 【Android进阶】kotlin委托属性
- 【Android进阶】Kotlin 条件控制
- Kotlin 接口
- 为什么要学Kotlin?Kotlin的未来趋势怎么样(会取代java吗?)
- Android Kotlin 协程async
- 有意思,发现Kotlin一个神奇的bug!
- Android Kotlin Exception处理
- 为什么我用kotlin写了一个项目之后就开始后悔了