Android

(219)

保质期管理 app,使用主题颜色区分过期和未过期状态

例如想使用 Android [Material Design 3](https://www.sunzhongwei.com/material-design-3) 主题中定义好的颜色,来着重显示过期状态。这样就能兼顾日间模式和夜间模式了,不需

保质期管理 app, 基于 SQLite 的过期时间排序

在基于 Android XML View 重写 Jetpack Compose 版保质期管理 app 时, 用 [SQLDelight](/tag/sqldelight) 替代了 Room 来做 SQLite 数据库管理。 但是在实

Kotlin Flow 基础概念

本以为我的 Android 开发技术已经天下无敌了😅,没想到连 Flow / Channel 我都第一次见。。。不得不说 Android 的新概念层出不穷。 周末看了一堆文档,有了一个大概的了解。我发现微信公众号的文章质量还真是高,不

Android Fragment 顶部菜单右上角添加删除/搜索按钮

例如,我想在 Android APP 首页顶部显示搜索按钮,在详情页顶部显示删除按钮。 ## 叫 Menu 还是 Top App Bar 搜素 Android Menu https://developer.android.co

Android SQLDelight (七) 从 Room 迁移的改造点

继续将原有的 Compose 项目重写为 XML View,本来不想折腾,心想要不直接沿用原来的 Room 代码,但是看了 DAO 和 Repository 这种风格的代码,还是忍不了。 既然没有退路了,就得保证对历史数据的兼容。

Android Room 替代品 SQLDelight 中文入门教程

对于我这种非 Java 程序员,实在忍受不了 Room DAO 这种形式主义,所以找了一个 Android 上操作数据库的替代品方案,SQLDelight。 SQLDelight 只需要手写 SQL,自动生成 kotlin data

Android SQLDelight (五) 查询单条数据库记录,并更新 UI

之前用 Android SQLDelight 查询批量数据非常方便,没想到查询单条数据反而有点搞不清。 ## 第一种做法 这样查询就是在主线程里,即 UI 线程。实际操作很快,没有任何卡顿。 ``` val id = arg

Jetpack Navigation 在 fragment 间跳转时使用 Safe Args 传参数

在一个 Android APP 中,需要由 Fragment A 跳转到 B 时进行传参,官方推荐使用 Safe Args。 Safe Args 主打的就是类型安全 (type-safety),测试了一下。 ## 配置 buil

Jetpack Navigation 点击返回 home fragment 时 onCreateView 被再次调用

在写一个 Android App,结构是一个 MainActivity,两个 fragment 分别是 home list fragment / detail fragment。 点击 home 页的 FAB 添加按钮,跳转 detail

Android SQLDelight (四) Hilt 将 database 依赖注入 ViewModel

由于使用的 Navigation UI 会在 navigate 时销毁 fragment 的 View,实际操作时,由 list to detail to list 这样的浏览路径,会导致 fragment onViewCreated 中的