关于 android-coroutines-flow
面向 Android 开发者的技能,涵盖协程、Flow 收集与结构化并发,强调生命周期感知、取消安全,以及遵循 Android 和 Kotlin 指引的最小改动。
主要功能
- 01生命周期感知的 Flow 收集
- 02ViewModel 中的结构化并发
- 03注入调度器
- 04取消安全的错误处理
- 05聚焦实现与验证的工作流
适用场景
- 01修复协程作用域和生命周期问题
- 02构建 Android 异步流水线
- 03处理取消与配置变更
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ krutikjain/ android-agent-skills --skill android-coroutines-flow安装后在 Claude Code 中输入/android-coroutines-flow确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/official-links.mdpatterns.mdscenarios.mdscripts/run_examples.sh详细介绍
Android 协程 Flow
适用场景
- 在以下请求中使用此技能:Android Flow 收集、修复 Android 中的协程作用域、ViewModel 中的结构化并发。
- 主要目标:使用协程、Flow、结构化并发、调度器和取消安全的 Android 异步流水线。
- 如果范围扩大,请移交给以下技能:
android-state-managementandroid-workmanager-notifications
工作流
- 将请求对应到当前 Android 技术栈、模块边界和最低支持 API 级别。
- 检查现有实现中的隐式假设、重复辅助工具和过时模式。
- 进行最小幅度的更改,以提高正确性、可读性和长期可维护性。
- 根据相关示例应用路径和仓库基准验证结果。
- 只有在核心基础稳定后,才将相邻工作移交给下一个专门技能。
注意事项
- 当官方 Android 和 Kotlin 指南与本地自定义约定冲突时,优先遵循官方指南。
- 保持公共 API 简洁明确;避免使用会隐藏 Android 生命周期开销的巧妙抽象。
- 除非请求明确需要,否则不要将架构清理与产品行为更改混在一起。
- 记录会影响旧模块或生成代码的兼容性限制。
反模式
- 在模块间零散添加辅助工具,却没有明确的归属边界。
- 在纯领域层或数据层中引入特定框架的代码。
- 只需更改一个契约,却重构所有相邻文件。
- 只暗示迁移说明,而不明确写下来。
修复示例
注入调度器,而不是硬编码
class TaskRepository(
private val ioDispatcher: CoroutineDispatcher = Dispatchers.IO,
) {
suspend fun refresh(): List<TaskUiModel> = withContext(ioDispatcher) { loadTasks() }
}
以感知生命周期的方式收集 Flow
viewLifecycleOwner.lifecycleScope.launch {
viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
viewModel.uiState.collect { render(it) }
}
}
在通用错误处理中保留取消状态
try {
repository.refresh()
} catch (error: CancellationException) {
throw error
} catch (error: Exception) {
emit(UiState.Error(error))
}
示例
顺利路径
- 场景:在 Compose 测试项目中,将模型任务更新建模为 StateFlow 和共享事件通道。
- 命令:
cd examples/orbittasks-compose && ./gradlew :app:testDebugUnitTest
边缘情况
- 场景:在 XML Activity Flow 中从取消和配置更改中恢复。
- 命令:
cd examples/orbittasks-xml && ./gradlew :app:testDebugUnitTest
故障恢复
- 场景:区分协程请求与状态管理和 WorkManager 提示词。
- 命令:
python3 scripts/eval_triggers.py --skill android-coroutines-flow
完成检查清单
- 实现路径明确、精简,并对应正确的 Android 使用场景。
- 已运行或更新相关示例命令和基准提示词。
- 当请求涉及相邻技能的范围时,已记录移交事项。
- 官方参考资料涵盖所选模式以及主要迁移或故障排查路径。
官方参考资料
评论
支持 Markdown