这可能是非常基本的,但我开始失去对OOP原则的掌握......
我想设计一些类来减少主活动类中的代码量,这已经增长到1000多行。 (用于处理UI事件的类,用于消息处理的类,用于警报/广播的类等)。
但是,这些类需要访问受保护的Activity方法,例如findViewById。
我认为使用继承来设计这些类是没有意义的,因为它们本身并不是真正的活动......我正在寻找像java中的朋友类这样的东西。
有什么建议吗?对不起,如果这听起来很模糊。
答案 0 :(得分:1)
对于GUI应用程序,您应该尝试遵循的最重要的设计模式之一是Model-View-Controller(MVC)模式。
Android在倾向于MVC风格方面做得很好。可以将Activity视为Controller部分,并将XML标记视为View部分。
如果您的新课程对findViewById进行了大量调用,那么您可能无法很好地分配职责。如果您正在进行大量的视图操作,可以考虑subclassing your View classes and referencing them in your XML。如果你要添加很多事件监听器,你应该继续在Activity子类中继续这样做,而是将你检索到的数据传递给你的助手类 - 而不是视图对象本身。
答案 1 :(得分:0)
为什么不在单独的类中实现消息处理程序,并将“this”(当前类的实例)传递给该处理程序类,以便可以调用这些方法。 另请参阅依赖注入设计模式。