Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android OOP设计基础_Java_Android_Oop_Android Activity_Friend - Fatal编程技术网

Java Android OOP设计基础

Java Android OOP设计基础,java,android,oop,android-activity,friend,Java,Android,Oop,Android Activity,Friend,这可能是非常基本的,但我已经开始失去对OOP原则的理解 我想设计几个类来减少我的主活动类中的代码量,它已经增长到1000多行。(用于处理UI事件的类、用于消息处理的类、用于报警/广播的类等) 但是,这些类需要访问受保护的活动方法,如findviewbyd 我认为使用继承设计这些类是没有意义的,因为它们本身并不是真正的活动。。。我正在寻找类似java中的friend类的东西 有什么建议吗?如果这听起来很模糊,我很抱歉 为什么不在单独的类中实现消息处理程序,并将“this”(当前类的实例)传递给该处

这可能是非常基本的,但我已经开始失去对OOP原则的理解

我想设计几个类来减少我的主活动类中的代码量,它已经增长到1000多行。(用于处理UI事件的类、用于消息处理的类、用于报警/广播的类等)

但是,这些类需要访问受保护的活动方法,如findviewbyd

我认为使用继承设计这些类是没有意义的,因为它们本身并不是真正的活动。。。我正在寻找类似java中的friend类的东西


有什么建议吗?如果这听起来很模糊,我很抱歉

为什么不在单独的类中实现消息处理程序,并将“this”(当前类的实例)传递给该处理程序类,以便调用这些方法呢。
还可以看看依赖注入设计模式。

对于GUI应用程序,您应该尝试遵循的最重要的设计模式之一是(MVC)模式

Android在倾向MVC风格方面做得很好。活动可以看作是控制器部分,XML标记就是视图部分

如果您的新类多次调用findViewById,您可能没有很好地分担责任。如果你正在做大量的视图操作,你可以考虑。如果要添加大量事件侦听器,可能应该在Activity子类中继续这样做,而是将检索到的数据传递给助手类,而不是视图对象本身