我正在使用Eclipse在Android中进行一些基本的编程。我目前正在阅读一本书,并使用书中编写的一些示例代码。
我注意到,在这本书中,到目前为止所有的例子都是以Main-Activity为步调的。我不认为这是一个很好的面向对象编程实践,因为我来自传统的Java背景。
这是移动平台的常见做法吗?类不都应该包含在自己的文件中吗?
发布于 2011-09-11 06:17:23
类不都应该包含在自己的文件中吗?
作为一个Android,Activity不一定是一个“特例”类。如果你还没有这样做,我建议你阅读Application Fundamentals,特别是Application components下关于“活动”的部分……
活动表示具有用户界面的单个屏幕。例如,电子邮件应用程序可能有一个显示新电子邮件列表的活动,另一个撰写电子邮件的活动,以及另一个阅读电子邮件的活动。虽然这些活动在电子邮件应用程序中协同工作以形成紧密的用户体验,但每个活动都独立于其他活动。这样,不同的应用程序可以启动这些活动中的任何一个(如果电子邮件应用程序允许的话)。例如,照相机应用程序可以在电子邮件应用程序中启动撰写新邮件的活动,以便用户共享照片。例如,相机应用程序可以启动撰写新邮件的电子邮件应用程序中的活动。
注意我用粗体突出显示的文本部分。关键是,Activity本身并不是完整的应用程序,如果允许,任何第三方应用程序都可以在您的某个应用程序中调用Activity。因此,使Activity尽可能地自包含是很常见的。一个特别的例子是使用像AsyncTask这样的东西,它提供了执行后台线程以及操纵UI的方法-嵌套一个扩展AsyncTask的私有类是非常常见的,并且简化了代码。出于同样的原因,扩展BroadcastReceiver的嵌套类也很常见。
也就是说,对POJO助手类使用单独的Java类文件并没有错,例如,这只是归结为你的应用程序有多复杂,但这可能意味着要特别考虑某些安卓类是如何工作的-如果在单独的类文件中定义,AsyncTask类尤其如此,试一试,你就会明白我的意思了。:-)
发布于 2011-09-11 05:44:23
OO是关于将功能放在类中。编写这些类的方式决定了它是否是好的OO (尽管这是有争议的)。所有这些类是否都在一个或几个文件中,或者每个类都有自己的文件,这是一个品味问题,而不是直接的OO问题。
因为这是一本样本很小的书(我认为),所以它的阅读方式可能和所有类都放在单独的文件中一样容易。
发布于 2013-08-03 13:41:05
如果你使用正确的OOP,你可以更快更高效地创建基于模板的应用程序。
您应该努力做到这一点,例如,如果您有一个通用数据库应用程序,并且可以使用多个数据库,但只需稍作更改。
https://stackoverflow.com/questions/7374871
复制相似问题