我正在使用我们的mCruiseOn平台开发拼车应用程序。我有2个活动,我需要编码,活动的90%相同的代码/流量和功能。我可以创建一个布局xml,只是将它包含在我的布局中,但是如何管理它的代码部分。目的是不重复代码,但保持清洁和易于管理。
我需要公共代码来管理findViewById,setOnClickListener和onClick方法。例如,两个活动都以gps为开头和结束位置。两个活动都有一个时间/日期对话框按钮。
一些想法
我更喜欢选项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,则可以非常轻松快速地完成此更改。 如果您使用的是活动,则需要重新安排大量代码。