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

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


当前回答

模型视图控制器(MVC)


描述:

当我们要在软件开发中主要进行大型项目时,采用MVC模式 通常使用,因为它是一种通用的组织方式 项目。 新的开发人员可以很快适应项目 帮助开发大型项目和跨平台。


MVC模式本质上是这样的:

模型:显示什么。这可以是数据源(例如:服务器,原始 应用程序中的数据) 视图:显示的方式。这可以是xml。因此,它是作为一个 表示过滤器。视图附加到它的模型(或模型部分) 并获取演示所需的数据。 控制器:处理类似用户输入的事件。这就是活动


MVC的重要特性:我们可以修改模型或视图或控制器,但不影响其他的

比如我们改变视图的颜色,视图的大小或位置 风景。这样做不会影响模型或控制器 假设我们更改模型(而不是从服务器获取的数据) 从资产中获取数据)仍然不会影响视图和 控制器 假设我们改变了控制器(活动中的逻辑),它不会影响 模型和视图

其他回答

我发现在Android上实现MVC最好的资源是这篇文章:

我在自己的一个项目中采用了同样的设计,效果非常好。我是Android的初学者,所以我不能说这是最好的解决方案。

我做了一个修改:我实例化了应用程序类中每个活动的模型和控制器,这样当横向-纵向模式更改时就不会重新创建这些模型和控制器。

在Android中,你没有MVC,但你有以下:

您可以根据分辨率、硬件等在各种XML文件中定义用户界面。 您可以根据语言环境等在各种XML文件中定义资源。 您可以扩展ListActivity、TabActivity等类,并通过扩展器使用XML文件。 您可以为业务逻辑创建任意数量的类。 很多Utils已经为您编写- DatabaseUtils, Html。

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

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

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

模型视图控制器(MVC)


描述:

当我们要在软件开发中主要进行大型项目时,采用MVC模式 通常使用,因为它是一种通用的组织方式 项目。 新的开发人员可以很快适应项目 帮助开发大型项目和跨平台。


MVC模式本质上是这样的:

模型:显示什么。这可以是数据源(例如:服务器,原始 应用程序中的数据) 视图:显示的方式。这可以是xml。因此,它是作为一个 表示过滤器。视图附加到它的模型(或模型部分) 并获取演示所需的数据。 控制器:处理类似用户输入的事件。这就是活动


MVC的重要特性:我们可以修改模型或视图或控制器,但不影响其他的

比如我们改变视图的颜色,视图的大小或位置 风景。这样做不会影响模型或控制器 假设我们更改模型(而不是从服务器获取的数据) 从资产中获取数据)仍然不会影响视图和 控制器 假设我们改变了控制器(活动中的逻辑),它不会影响 模型和视图

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

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