android - 如何实现一个中心化的事件系统?Android - 实时数据
问题描述
所以我想出了一个我称之为集中式事件系统的简单Snackbar
通知或错误显示DialogFragment
。我这样做的方式是我的所有活动都从 a 扩展,BaseActivity
并且在这样的课程中我创建了一个CompanionObject
. 此伴随对象托管两个 MutableLiveData 对象,一个用于成功通知,一个用于错误通知。
方法BaseActivity
上的OnCreate
this 观察这两个 LiveData 对象,并在需要时显示 Snackbars 或 DialogFragments。它有效,但有人告诉我这是不好的做法,而且在架构方面不太好......
为什么这是错误的?我不完全理解为什么它被认为是不好的做法。这样你就可以调用 BaseActivity.successNotification.postValue(event) 了!
open class BaseActivity: AppCompatActivity() {
companion object {
val successNotification = MutableLiveData()
}
override fun onCreate() {
successNotification.observe(...)
}
}
解决方案
推荐阅读
- ansible - 在 Ansible 中使用 expect 并在 Shell 模块中发送时发送无法正常工作
- css - iOS Safari 上的 Vue Carousel 仅适用于第一张幻灯片
- python - 如何在 python 中绘制 23h-25h 时间序列
- javascript - 在网络摄像头视频上运行poseNet时出错
- scikit-learn - 在 scikit-learn 的两列上使用分层训练测试数据拆分
- reporting-services - 如何在SSRS中每2行背景颜色后交替行
- powershell - 如何处理powershell脚本块中的引号
- java - 用 Java 编写响应处理程序
- python - Scipy中的“冻结分布”是什么意思?
- email - 设置 DNS 的推荐方法?