0

我最近才开始从事 android 开发工作,我正试图掌握一个我相信的相对简单的概念。先介绍一下这个问题的背景。

我最近使用 MVC 设计模式创建了一个 Java 程序(尽管视图和控制器是链接的)。在这个项目中,我创建了一个自己的类作为模型,并且在我的 main() 函数中,我简单地创建了这个模型类的一个实例,然后我将它传递给我的所有其他类。这允许每个类(因此,每个视图)具有相同的模型对象,因此,由不同的控制器对该模型类进行的所有更新。

我想知道这将如何在 Android 的活动中发挥作用?每个活动是否可以引用相同的单个模型类对象?例如,假设我有一个 android 应用程序,它的主页上有一些东西。在主页上,有一个按钮可以让您转到“设置”页面,该页面会启动一个允许用户更改某些设置的新活动。我希望能够将模型对象传递给“设置”活动,让用户对“设置”活动进行任何可能的更改,相应地更新模型,这样当我返回主页时,我的模型对象包含这些更改。

这可能吗?我只是把事情复杂化了吗?

4

1 回答 1

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/

如何从 TabHost Activity 返回结果(startActivityForResult)?

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

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

于 2013-04-01T14:42:42.313 回答