用户托管页面设计
提示
此功能在 5.12.0 版本开始支持。
页面架构设计
用户托管采用了 MVVM(Model-View-ViewModel)模式,结合了 Android 的 Fragment 和 Activity 生命周期管理,以及分层解耦的设计思想。每个层次在架构中都有明确的职责分工,旨在提高代码的可读性、可维护性和可扩展性。
- Activity:作为页面的入口,负责加载和显示 Fragment,并传递必要的参数。
- Fragment:负责界面的 UI 显示和用户交互逻辑处理,通过 ViewModel 获取数据并更新视图。
- ViewModel:作为数据和业务逻辑的中间层,处理数据的获取、处理和更新,将数据变更通知给 Fragment。
- Handler:作为业务数据处理的核心层,封装了数据获取和操作的具体实现,提供数据操作的接口。
- Component:封装常用的 UI 控件和交互逻辑,提升组件复用性。
- XML 布局文件:定义视图的结构、样式和布局,为 Fragment 提供 UI 支持。
页面架构层次关系
Activity 层
- 作用:
- 作为页面的入口,负责初始化和加载 Fragment。
- 管理页面跳转、启动参数的传递,并处理 Fragment 间的通信。
Fragment 层
- 作用:
- 作为主要的 UI 显示和交互逻辑处理层,负责加载和管理视图组件。
- 处理用户交互事件,如按钮点击、输入框变化等。
- 通过 ViewModel 获取和观察数据,并根据数据变化更新视图。
- 自定义方法:
onCreateViewModel()
:- 通过 ViewModelProvider 创建 ViewModel 实例。可以根据需求重写该方法返回自定义的 ViewModel 类。
onCreateView()
:- 通过
super.onCreateView()
调用父类的布局加载逻辑,并在父类的基础上进行自定义视图的添加或调整。
- 通过
onViewReady()
:- 绑定 LiveData 数据,设置点击事件监听器,更新 UI。
ViewModel 层
- 作用:
- 作为 Fragment 与数据层之间的桥梁,负责管理和处理业务逻辑。
- 通过 LiveData 等机制,将数据的变更通知给 Fragment。
- 调用 Handler 进行数据的获取、更新或提交等操作。
- 自定义方法:
- 增加新的业务逻辑处理方法,或创建新的 LiveData 属性。