Android
(219)Android App Bar / Action Bar 添加按钮
想要在 Android App 中添加一个配置页面,用来进行基本设置调整。例如:
- 修改字体大小
- 修改字体颜色
- 修改背景图片
对比了一下使用 BottomNavigationView 底部 tabbar 的方案,感
Android SQLite Union 对多个查询结果进行组合
例如,在 Android App 中,我想从本地 SQLite 数据库中,取所有未完成的任务,及已完成的任务的前50条。限制读取已完成条数是为了防止数据量过大,内存不可控。
## Room 中的查询 SQL
在 DAO 代码中
Android Room Entity 为某个字段添加索引
担心 Android 本地 SQLite 数据库存储数据过多时,造成查询效率下降,所以想给字段加上索引。
## 添加索引示例
例如,我想给待办事项这个表(todos)的完成状态字段(done)添加索引。
设置 indice
Type mismatch. Required: Context! Found: XxxFragment
在 Fragment 中使用 kotlin 实例化 WallpaperManager:
val wallpaperManager = WallpaperManager.getInstance(this)
报错:
RecyclerView 子项 View Holder 的点击事件响应
## 需求
点击 RecyclerView 中的一个 checkbox 子项,更新本地 sqlite 数据库中的一行数据的选中状态字段。
方案对比:
## 方案一 (不可行):使用 Data Binding 事件处理机制中的
Android Hilt 实现依赖注入的自动化管理
Android Sunflower Demo 中看到这样一段代码:
```
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
No type arguments expected for interface ListAdapter
在实现一个 RecyclerView 的 Adapter 时,类的首行代码即报错:
```
class TodoAdapter : ListAdapter(TodoDiffCallback()) {
```
报错提示为:
Android RecyclerView 展示数据列表
## RecyclerView 的用途
recycle,回收,使再循环的意思。
用于展示列表数据,通常量很大。如名字所示,RecyclerView 可以循环使用已创建的 view,以提升性能。
## RecyclerVie
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`, 和