2010-10-20 41 views
4

我對Android開發和麪對UI實現問題頗爲陌生。也就是說,我試圖找到一個好的方法(設計模式?)來解決視圖層次結構和視圖之間的導航(帶歷史記錄)。是否總是要啓動新的Activity?我不想在使用Android SDK的第一步中學習不良習慣,因此我的問題。不勝感激您的個人方法,您會發現很好的關注或任何資源/教程的鏈接詳細闡述這個問題。Android中視圖導航的設計模式?

回答

4

在Android中,建議的行爲是這樣的:

  1. 的後退按鈕可返回到先前的「屏幕」。如果你管理你自己的「子屏幕」,你並不總是需要開始一個新的活動來創建一個新的「屏幕」,你應該覆蓋你的返回按鈕,以便返回到前一個「子屏幕」。
  2. 用戶多任務當內存受限時,操作系統可能會終止您的應用程序。如果操作系統殺死了您的應用程序,您應該確保用戶不會丟失未保存的工作(例如部分填寫的表單),您的應用程序應該恢復用戶正在做的任何事情,就好像用戶返回到應用程序時永遠不會中止一樣。假設用戶可能隨時離開做其他活動(例如緊急電子郵件通知出現,用戶放棄應用程序以閱讀電子郵件),並且行爲適當。
  3. 有關於你的問題的UI設計準則:http://developer.android.com/guide/practices/ui_guidelines/activity_task_design.html

諷刺的是,連谷歌也承認,並不是所有的本機應用程序行爲這種方式。一些原生應用程序由於有意識的設計決策而違反了指導原則,而另一些僅僅是因爲歷史原因。

+0

UI設計指南上的鏈接看起來很有趣。讀完之後會回覆我的反饋。謝謝你,謊言:) – matm 2010-10-20 14:09:26

+0

你建議的文章給了我一個關於UI設計考慮因素的廣泛概述,所以我認爲這是我的問題的答案,因爲我可以用Android條款來制定我的問題:)現在,我將重點放在「Activities任務「(developer.android.com),所以我可以解決以下問題:啓動一個由少量活動(」屏幕「)組成的任務,在BACK鍵上返回任務的根活動。換言之:Activity1-> A2->(TaskAct1-> TA2-> ...-> TAn) - (BACK) - > A2,即:任何任務活動將用戶導航回到A2上。我認爲這完全是關於適當啓動任務(親和力?)和堆棧操作。我對麼? – matm 2010-10-21 08:44:12

0

建議您啓動新的活動,因爲它是Android能夠管理應用程序中任務活動週期的最佳方式。

您可以隨時創建視圖,並且可以使用setContentView()和事件的良好控制代碼進行處理,但是您會在糾結的混亂中獲得單色界面。

嘗試對用戶的應用程序界面進行一點分析,它會顯示主屏幕和活動。這是很容易,它是有效的... :)

0

我會推薦這本書。 http://commonsware.com/

如果您是Java初學者,您應該考慮先學習Java。例如,良好的書籍將是Head First JavaThinking in Java

閱讀這些書後,我建議嘗試一下在線教程,因爲你可以學到很多不太好的東西,而書的質量很好!

+0

感謝書籍建議:) – matm 2010-10-21 08:49:29