2011-11-11 47 views
6

剛剛開始在Android開發。首先,我正在構建一個應用程序,該應用程序的功能類似於圖庫+圖像查看器,並具有快速並迅速將圖片移動到子文件夾中的附加功能,以便輕鬆分類大量圖片。Android最佳實踐 - 觀點/活動

到目前爲止,我有2個活動 - 全屏圖像視圖和全屏縮略圖網格(用於多選目的)。

現在,當我在這個新的,我想知道這個雙重活動是否是一個明智的決定。在從圖像視圖切換到網格視圖時(反之亦然),簡單地在內容視圖之間切換會比啓動完全不同的活動更好嗎?

我在找的東西當然是顯而易見的優點和缺點 - 性能,易用性和可用性。但是,如果還有其他更基本的「模式」/最佳實踐原因。

感謝

回答

5

我認爲你的雙重活動方法是明智的。一般來說,Android Activity/View API是圍繞一個固定的View per Activity來構建的。雖然你可以在你的Activity的佈局中操作視圖,但我建議這應該限制在隱藏/顯示/移動視圖,而不是取代佈局批發。

你可能應該考慮的是更新的Fragments API。這幾乎可以作爲「活動中的活動」。片段本質上允許您在可重用組件中包裝UI的一個元素(佈局和行爲)。因此,在您的具體示例中,兩個截然不同的用戶界面可能是單個活動中的片段。

這有幾個好處,例如能夠在其他活動中重用您的用戶界面,並且您可以做出時髦的過渡動畫。

+0

對於Fragments API,+1還沒有使用它,但它看起來非常好。謝謝。只有API級別11可用(Android 3.0),這意味着它對我來說是不可行的。太糟糕了:( – Guillaume

+0

我對片段很感興趣,我想要做的一件事就是在圖片視圖和網格視圖之間切換的動畫 - 據我所知,我可以用片段來完成。一個活動當然會允許這樣做,並且還允許我重用一些常見的元素,如菜單,某些常見的文本瀏覽等等。但是,我喜歡將代碼放在單獨的活動中的代碼簡化。 – Dynde

+1

實際上,你所談論的簡化(或封裝)基本上與片段一樣明確。你的活動只是成爲你的碎片的容器。 – tomtheguvnor

1

雙重活性應該工作,因爲你不會實現後退按鈕的動作被人打擾。

+0

是 - 保持後退按鈕的行爲是很重要的。 – tomtheguvnor

+0

謝謝 - 是的,我沒有真正想過後退按鈕。但通過實際的「Go to Grid」按鈕,看到我的選擇更「語義豐富」,這當然意味着更多的實現,但會更友好,優點和缺點:) – Dynde

1

完全是爲了這個目的而開展的活動。如果你願意,你可以用一個自定義佈局引擎(重新加載組件等)將你的整個應用程序放在一個單獨的活動中,如果你想要一個「便攜」應用程序,這就是你想要做的事情(例如,你開發一個共同的應用程序各種平臺的UI,Andropid,Windows 7,iOS等),但是如果你只想去Android,首選的方法是使用提供的API,而不是重新發明輪子。它運行良好,並且可以讓用戶體驗到一致的舒適感(它看起來和其他Android應用程序一樣)。

目前的項目我的工作(遊戲)已經有10個不同的活動,我打算更多...