2010-11-16 62 views
3

我有一個非常簡單的2屏幕android應用程序。Android setContentView or Intents?

簡單地通過setContentView切換佈局還是應該使用intents?是否有任何缺點?如果出現這種情況,不想亂搞我的應用程序。

回答

1

以及對Android開發http://developer.android.com/reference/android/content/Intent.html

意向聲明提供 進行後期運行在不同的 應用程序的代碼之間的結合 的設施。其最重要的用途 正在開展活動, 它可以被認爲是活動之間的膠水 。它基本上是一個 被動數據結構,其中包含一個 抽象描述的動作,執行到 。

因此,如果你的兩個屏幕是2個不同的應用程序,我會說你想簡單地使用setContentView。

將簡化你的代碼,當你想從一個到另一個觀點

1

在單個活動中擁有兩個視圖沒有任何問題。這種方法更加輕量,因爲您不需要經歷停止一個活動並開始另一個活動的階段。但是,它會讓你的活動代碼更笨重。現在考慮如果您將來需要更多的功能或更多的視圖,並且如果答案是肯定的,那麼創建單獨的活動會更好。

0

如果視圖是重量輕(一堆文本框)傳遞信息,那麼它不應該的問題。另一方面,如果兩個屏幕在很大程度上獨立和沉重,您可以使用兩種不同的活動。這種方法的主要優點是:

  • 如果在第二屏幕(在這種情況下的活性)的錯誤,則應用程序將回到第一屏幕,而在使用所述視圖的情況下,該整個應用程序崩潰
  • 更好的可讀性
  • 更容易在未來
1

另一個要考慮的添加更多的功能是活動形成stack。如果您希望能夠通過「後退」按鈕返回上一個活動,那麼您需要使用活動。但是,如果在應用程序啓動時它就像是「加載」屏幕一樣簡單,並且不必再次返回,則設置內容視圖將是一個更好的主意。