到目前为止,我已经参与了几个iOS项目,目前我将其中一个应用程序移植到我的第一个Android应用程序中。
iOS版本的数据模型使用NSNotificationCenter
来广播用于通知视图类有关更新的状态消息。这非常有效并且很舒服,因为视图不需要知道/查看所有模型类,只需要知道更新消息。
我想在Android上做同样的事情。当然这里没有NSNotificationCenter
,但我发现LocalBroadcastManager
几乎相同。几乎相同,但不完全相同:getInstance(...)
方法需要引用Context
(例如Activity
)。这是一个问题,因为模型类不知道任何Activity
矿石Context
。
我发现的所有信息都说,如果模型类必须知道Activity
,那么它应该引用它,例如在构造函数中。但这将是一个真正的丑陋"解决方案通过模型类链传递这样的引用只是为了能够发布通知。
在Android中使用NSNotificationCenter
还有其他解决方案吗?