本篇文章次要讲的是,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") }) }}