2010-12-21 46 views
1

我目前正在開發具有不同服務維度的Android應用程序,例如「服務訂單」,「路線規劃」,「照片庫」和中央登錄。 到目前爲止,我實現了每個「屏幕」(屏幕我實際上是一個屏幕的佈局)作爲一個單獨的類,加載一個特定的佈局,並處理所有的監聽器和核心功能,如調用線程中的webservices,接收答案等 我不太確定這是否是實現多個佈局屏幕的最佳方式。如何實現應用程序中的多個屏幕

Android開發指南建議爲每個「屏幕布局」使用單個活動。不過,我懷疑這是做事最有效的方式。因爲我需要通過中央登錄(這裏是:用戶對象)檢索到的每個「佈局」的信息。由於一個活動(據我所知)是一個單獨的線程,傳遞和檢索信息似乎不是很實際。

我想得到您的oppinions /反饋,並感謝您的任何提示或提示。

到目前爲止,我的結構是這樣的:

  • 活動
    • 負荷登錄佈局(RES /佈局/ login.xml與setlContentView)
    • 取決於buttonclick其他資源的加載和初始化(手段聽衆加入等)

電賀 彼得

回答

3

開發指南建議,有一個原因。這是做事最有效的方式。你可能會抱怨必須存儲你的數據,以便它可以從活動傳遞到活動,但猜猜是什麼?您正在開發手機應用程序!在任何時候,手機都可能響起,迫使用戶離開您的應用程序。或者用戶可以選擇暫時查看其他應用。如果您的應用程序在切換回來並丟失所有數據後回到原來的一個,那麼用戶可以理解爲憤怒。

+0

感謝您的反饋意見,所以您會建議將這些數據持久存儲在手機上,而不是將其從活動傳遞到活動?你在這裏得到了一個有效的點,所以即使我將數據從活動傳遞到活動,如果應用程序中斷,它將會丟失...所以我確實需要將它存儲在手機上(因爲我不希望用戶每次應用程序被中斷時登錄) – Peter 2010-12-21 09:31:11

+0

取決於您希望它需要多長時間。如果您將其存儲在SharedPreferences中,則即使在用戶重置手機後,它也會一直存在。挺好的。但是,在傳遞意圖時沒有什麼壞處 - 這足以處理正常情況(包括改變電話方向)。 – EboMike 2010-12-21 09:33:06

0

不知道這是否適合您的應用程序,但另一種選擇可能是將核心數據處理拆分爲服務,並讓您的應用程序只是與該服務通信的UI前端。

相關問題