有可能在Java中为Android实现模型-视图-控制器模式吗?

或者它已经通过活动实现了吗?或者有没有更好的方法来实现Android的MVC模式?


当前回答

我看到很多人说MVC已经在Android中实现了,但这不是真的。Android默认不遵循MVC。

因为我不谷歌将永远强制MVC实现像iPhone的限制,但它取决于开发人员的模式或技术,他们想在他们的项目,在小或简单的应用程序使用MVC是不需要的,但随着应用程序的增长,变得复杂,并需要修改其代码在以后的几年,然后有一个MVC模式在Android的需求。

它提供了一种修改代码的简单方法,还有助于减少问题。 如果你想在Android上实现MVC,那么按照下面给出的链接,在你的项目中享受MVC实现。

http://www.therealjoshua.com/2011/11/android-architecture-part-1-intro/

但是现在,我认为MVP和Android架构模式是开发人员应该使用的干净和健壮的Android应用程序的最佳选择之一。

其他回答

在我看来,Android处理MVC模式的方式是这样的:

您有一个充当控制器的Activity。你有一个负责获取数据的类,即模型,然后你有一个View类,即视图。

当谈到视图时,大多数人只想到xml中定义的可视部分。不要忘记,视图也有一个程序部分,它的构造函数,方法等,在java类中定义。

我看到很多人说MVC已经在Android中实现了,但这不是真的。Android默认不遵循MVC。

因为我不谷歌将永远强制MVC实现像iPhone的限制,但它取决于开发人员的模式或技术,他们想在他们的项目,在小或简单的应用程序使用MVC是不需要的,但随着应用程序的增长,变得复杂,并需要修改其代码在以后的几年,然后有一个MVC模式在Android的需求。

它提供了一种修改代码的简单方法,还有助于减少问题。 如果你想在Android上实现MVC,那么按照下面给出的链接,在你的项目中享受MVC实现。

http://www.therealjoshua.com/2011/11/android-architecture-part-1-intro/

但是现在,我认为MVP和Android架构模式是开发人员应该使用的干净和健壮的Android应用程序的最佳选择之一。

Android上的动作、视图和活动是与Android UI一起工作的内置方式,是模型-视图-视图模型(MVVM)模式的实现,它在结构上与模型-视图-控制器相似(在同一家族中)。

据我所知,没有办法打破这个模式。这可能是可以做到的,但是您可能会失去现有模型的所有好处,并且必须重写自己的UI层以使其正常工作。

Android的MVC模式(有点)是用它们的Adapter类实现的。他们用“适配器”替换控制器。适配器的描述声明:

对象充当AdapterView和对象之间的桥梁 该视图的底层数据。

我只是在寻找一个从数据库读取的Android应用程序,所以我不知道它工作得有多好。然而,它看起来有点像Qt的模型-视图-委托架构,他们声称这是传统MVC模式的一个升级。至少在PC上,Qt的模式运行得相当不错。

虽然这篇文章看起来很旧,但我想添加以下两篇文章来介绍Android在这一领域的最新发展:

android-binding -提供一个框架,使android视图小部件绑定到数据模型。它有助于在android应用程序中实现MVC或MVVM模式。

roboguice——roboguice去掉了开发过程中的猜测。注入您的视图,资源,系统服务,或任何其他对象,并让RoboGuice照顾的细节。