2012-07-12 40 views
1

我正在使用我們的mCruiseOn平臺開發拼車應用程序。我有2個需要編碼的活動,這兩個活動都具有90%相同的代碼/流和功能。我可以創建一個佈局xml,並將其包含在我的佈局中,但是如何管理它的代碼部分。目的是不重複代碼,但仍保持清潔和易於管理。使用繼承或片段之間的設計選擇

我需要通用代碼來管理findViewById,setOnClickListener和onClick方法。舉個例子,這兩個活動都是以gps開始和結束的位置。這兩個活動都有一個時間/日期對話框按鈕。

的幾點思考

  1. 所以GetGPSAndTimeActivity,我做的所有findViewById,onClickListener,onCreateDialog。那麼我應該從GetGPSAndTimeActivity擴展嗎?
  2. Fragment in Android 2.3.3 and lesser

使用片段我寧願選擇1

回答

1

這就要看您的具體情況。比方說你有一個活動A做一些東西,一個活動B完全像A一樣的東西,但多一點(比如添加幾個按鈕)。

在這種情況下,您可以讓活動B延長您的活動A. 乙只是增加了缺少的東西。

如果活動A和B有很多共同點,但是如果還有細微的差別,準確地說:如果活動A包含B不需要的代碼,則應爲兩個活動A創建一個抽象基類C和B只包含共同的代碼子集。讓A和B擴展C並將其各自的額外代碼添加到A和B中。

至於使用碎片或不:我會去的。從長遠來看,支持平板電腦/多種屏幕尺寸的麻煩較少,您可以在不同的環境中輕鬆地重複使用它們。

讓我們假設你的老闆/客戶突然想要我們從Google Play獲知的花式ViewPager功能(左右切換屏幕以切換類別)。如果你首先使用碎片,這種改變可以非常簡單快捷地完成。 如果您使用的是Activities,則需要重新安排大量代碼。