Android

(221)

Android: Unresolved reference: asLiveData

使用 Android 的 ViewModel 与 LiveData 的代码: ``` class TodoViewModel(private val repository: TodoRepository): ViewModel()

withContext(Dispatchers.IO) 与 viewModelScope.launch(Dispatchers.IO) 的区别

## CoroutineScope withContext lifecycleScope viewModelScope 该如何选择 `CoroutineScope`, `withContext`, `lifecycleScope`, 和

Android Kotlin 协程 Dispatchers 有哪些值

根据具体的场景和需求选择合适的调度器非常重要,这样可以更好地平衡应用的性能和用户体验。 ## Dispatchers 有哪些值 - Dispatchers.Main:Android 主线程。用于调用 suspend 函数,UI 框架

gradle.build 配置中 annotationProcessor 与 kapt 区别

## kapt 是什么 kapt 是 Kotlin Annotation processing tool 的缩写。 ## kapt 与 annotationProcessor 的区别 - annotationProcessor 是

Android Kotlin Room: AppDatabase_Impl does not exist

Android 4.1.2 测试 Android Room 的使用,在 coroutine 中调用 Room.databaseBuilder 时,报错 > AppDatabase_Impl does not exist Goo

Android ViewModel 与 LiveData 的使用场景

## 概述 - 在 activity 中监听 ViewModel 中数据的变化,当有变化时,将对应的数据显示在界面组件上 - LiveData 在 ViewModel 中使用,上面监听的数据类型就是 LiveData 类型。 - 同时

Android Repository 解决多数据源问题

在看 Android Room 时,不能理解的是,既然有了 Dao 层,为何还要再加上一层 Repository 的封装。 看了一下 Google 官方对 Android Repository 的介绍: https://de

使用视图绑定 View Binding 替代 findViewById

使用场景,例如,点击按钮获取输入框的内容。就需要写一堆 findViewById 的代码。 Android Studio 3.6 之后,可以使用 View Binding 来简化这个操作。 而且在绝大部分场景下,view bin

Android Studio 无法开启模拟器: Could not start AVD

Android Studio 中报错: > 02/03 10:12:56: Launching 'app' on No Devices. > Error while waiting for device: Could not sta

Android Navigation 组件

## Navigation 组件适用场景 - 一个 main activity 包含多个 fragment, 多个 fragment 相互跳转时,需要用到 Navigation 组件。 - 一个 App 包含多个 activity 时,