使用继承或片段之间的设计选择

时间:2012-07-12 17:02:27

标签: android

我正在使用我们的mCruiseOn平台开发拼车应用程序。我有2个活动,我需要编码,活动的90%相同的代码/流量和功能。我可以创建一个布局xml,只是将它包含在我的布局中,但是如何管理它的代码部分。目的是不重复代码,但保持清洁和易于管理。

我需要公共代码来管理findViewById,setOnClickListener和onClick方法。例如,两个活动都以gps为开头和结束位置。两个活动都有一个时间/日期对话框按钮。

一些想法

  1. 所以GetGPSAndTimeActivity我在其中执行所有findViewById,onClickListener,onCreateDialog。那么我应该从GetGPSAndTimeActivity扩展吗?
  2. 使用Fragment in Android 2.3.3 and lesser
  3. 等片段

    我更喜欢选项1。

1 个答案:

答案 0 :(得分:1)

这取决于你的情况。让我们说你有一个活动A做一些东西和一个活动B完成相同的东西,如A但更多一点(如添加几个按钮)。

在这种情况下,您可以让活动B扩展您的活动A. B只是添加了遗漏的内容。

如果活动A和B有很多共同之处,但是如果也存在细微差别,那么:如果活动A包含B不需要的代码,则应为活动A和A创建一个抽象基类C. B只包含公共的代码子集。让A和B扩展C并将其各自的额外代码添加到A和B中。

至于是否使用碎片:我会去寻找它。从长远来看,您可以减少支持平板电脑/多种屏幕尺寸的麻烦,并且您可以轻松地在不同的环境中重复使用它们。

让我们假设您的老板/客户突然想要我们从Google Play中了解到的那种花哨的ViewPager功能(向左和向右滑动屏幕以切换类别)。如果您首先使用Fragments,则可以非常轻松快速地完成此更改。 如果您使用的是活动,则需要重新安排大量代码。

相关问题