원클릭으로
basekit-mvvm
Guide for BaseKit MVVM architecture. Invoke when implementing Activities, Fragments, ViewModels, or Adapters using BaseKit.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Guide for BaseKit MVVM architecture. Invoke when implementing Activities, Fragments, ViewModels, or Adapters using BaseKit.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Koog 开发工具包:梳理 Tools/MCP/Prompt/LLM 参数/记忆/压缩/审核等规范并产出模板。用户提到 Koog、ToolRegistry、MCP、AskUser、ChatMemory 时调用。
将当前分支重组为一组小而清晰、适合代码评审的语义化提交。用户要求拆分提交、整理 commit 历史、重做提交顺序时调用。
Complete guide for BaseKit Network module, including Coroutines support (KCHttp), error handling, HTTPS, SSE, and caching strategies.
Expert guidance on setting up scalable Gradle build logic using Convention Plugins and Version Catalogs.
Solutions for common Android Gradle build errors. Invoke when encountering build failures, duplicate file conflicts, manifest merger issues, or dependency resolution errors.
Guide for Jetpack Navigation 3 in Compose. Invoke when user asks to set up Navigation 3, manage back stack, or use NavDisplay.
| name | basekit-mvvm |
| description | Guide for BaseKit MVVM architecture. Invoke when implementing Activities, Fragments, ViewModels, or Adapters using BaseKit. |
BaseKit 提供了一套基于 Android Jetpack (MVVM + ViewBinding + Coroutines) 的快速开发框架。封装了 Activity、Fragment、Adapter 以及 ViewModel 的基础实现,旨在简化代码,提升开发效率。
位于 me.shetj.base.mvvm 包下,提供标准的 MVVM 实现。
BaseBindingActivity 和 BaseBindingFragment 利用泛型和反射自动初始化 ViewBinding 和 ViewModel,减少样板代码。BaseViewModel 内置 baseAction (SingleLiveEvent),统一分发 TipAction (Toast/Snack)、NetErrorAction、LoadingAction 等事件,Activity/Fragment 自动订阅处理。SaveStateViewModel 集成 SavedStateHandle,支持进程重建后的数据恢复。BaseKoinBindingActivity 等类(如果需要),便于集成 Koin 依赖注入。位于 me.shetj.base.base 包下,提供丰富的通用能力。
GrayThemeLiveData),屏幕方向设置,多语言上下文适配 (LanguageKit)。logUILife),方便调试 UI 生命周期。OnBackPressedCallback 处理返回逻辑;处理 Window 焦点和系统 UI 隐藏。基于 BaseRecyclerViewAdapterHelper 的扩展。
convert 方法中使用 Binding 对象。lifeKtScope 协程作用域,防止 Adapter 中的异步操作内存泄漏。SelectionTracker,支持列表项的多选功能。// 泛型指定 ViewBinding 和 ViewModel
class MainActivity : BaseBindingActivity<ActivityMainBinding, MainViewModel>() {
override fun initViewModel(): MainViewModel {
// 可选重写,默认反射创建
return super.initViewModel()
}
override fun initView(savedInstanceState: Bundle?) {
// mBinding 直接使用,无需 setContentView
mBinding.tvTitle.text = "Hello BaseKit"
// mViewModel 直接使用
mViewModel.testAction()
}
}
class MainViewModel : BaseViewModel() {
fun testAction() {
// 发送 UI 事件,Activity 会自动处理(如弹 Toast)
baseAction.value = TipAction(TipType.INFO, "操作成功")
}
}
// 泛型指定数据类型和 Item ViewBinding
class MyAdapter(data: MutableList<String>) :
BaseViewBindingAdapter<String, ItemBinding>(R.layout.item_layout, data) {
override fun convert(holder: ItemBinding, item: String) {
holder.tvName.text = item
}
}
me.shetj.base.mvvm
viewbind/: 包含 MVVM 核心基类 BaseBindingActivity, BaseBindingFragment, BaseViewModel。me.shetj.base.base
AbBaseActivity/Fragment: 顶层抽象基类,处理底层系统交互。Base*Adapter: 针对 RecyclerView 的各种增强适配器。