2013-04-01 82 views
0

我剛剛開始使用android開發,我試圖掌握一個相對簡單的概念,我相信。首先提出問題的一些背景。Android中的簡單MVC;將對象傳遞給活動

我最近創建了一個使用MVC設計模式的Java程序(雖然視圖和控制器已鏈接)。在這個項目中,我創建了自己的類作爲模型,在main()函數中,我創建了這個模型類的單個實例,然後將其傳遞給我的所有其他類。這允許每個類(因此,每個視圖)具有相同的模型對象,並因此允許由不同的控制器對該模型類進行的所有更新。

我想知道這將如何在Android的活動?每個活動都有可能引用相同的單一模型類對象嗎?例如,讓我說我有一個Android應用程序,它的主頁上有一些東西。在主頁上,有一個按鈕可讓您進入「設置」頁面,該頁面啓動一項允許用戶更改某些設置的新活動。我希望能夠將模型對象傳遞給「設置」活動,讓用戶對「設置」活動進行任何可能的更改,相應地更新模型,以便當我返回主頁時,我的模型對象包含這些更改。

這可能嗎?我簡單地過分複雜嗎?

回答

1

它取決於模型結構。如果模型太複雜了,我會讓它成爲一個由Application類創建的靜態單例,並從我想要的任何地方獲取引用。

http://www.devahead.com/blog/2011/06/extending-the-android-application-class-and-dealing-with-singleton/

或者您也可以使模型Parcelable並使之通過意圖。這會更復雜一點。

要將數據傳遞給Activity,可以在Intent extras中使用Parcelable或Serializable。要獲得修改後的結果,可以使用startActivityForResult和onActivityResult。

http://shri.blog.kraya.co.uk/2010/04/26/android-parcel-data-to-pass-between-activities-using-parcelable-classes/

How to return a result (startActivityForResult) from a TabHost Activity?

http://developer.android.com/reference/android/os/Parcelable.html

http://developer.android.com/reference/android/content/Intent.html

相關問題