`
xuyuanshuaaa
  • 浏览: 393782 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Android中采用的MVC框架

阅读更多
MVC是当前比较流行的框架,随便Google下,就可以发现几乎所有的应用程序开发中都采用了MVC框架,例如:.NET,Java Spring,Java Struts,PHP 。那么MVC到底是什么,为什么被广泛使用?

简要说明下,什么是MVC。MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器。一个逻辑模型可以对于多种视图模型,比如一批统计数据你可以分别用柱状图、饼图来表示。一种视图模型也可以对于多种逻辑模型。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式,而C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新,这与《设计模式》中的观察者模式是完全一样。具体详细的解析,可以去阅读百度知道中介绍的什么是MVC?

采用MVC到底有什么好处?从用户的角度出发,用户可以根据自己的需求,选择自己合适的浏览数据的方式。比如说,对于一篇在线文档,用户可以选择以HTML网页的方式阅读,也可以选择以pdf的方式阅读。从开发者的角度,MVC把应用程序的逻辑层与界面是完全分开的,最大的好处是:界面设计人员可以直接参与到界面开发,程序员就可以把精力放在逻辑层上。而不是像以前那样,设计人员把所有的材料交给开发人员,由开发人员来实现界面。在VS 2008开发工具中设计人员就可以直接通过Silverlight来开发界面,在Eclipes工具中开发Android采用了更加简单的方法,设计人员在DroidDraw中设计界面,以XML方式保存,在Eclipes中直接打开就可以看到设计人员设计的界面。

Android中界面部分也采用了当前比较流行的MVC框架,在Android中M就是应用程序中二进制的数据,V就是用户的界面。Android的界面直接采用XML文件保存的,界面开发变的很方便。在Android中C也是很简单的,一个Activity可以有多个界面,只需要将视图的ID传递到setContentView(),就指定了以哪个视图模型显示数据。

在Android SDK中的数据绑定,也都是采用了与MVC框架类似的方法来显示数据。在控制层上将数据按照视图模型的要求(也就是Android SDK中的Adapter)封装就可以直接在视图模型上显示了,从而实现了数据绑定。比如显示Cursor中所有数据的ListActivity,其视图层就是一个ListView,将数据封装为ListAdapter,并传递给ListView,数据就在ListView中现实。

目前Android中采用的MVC框架还是比较简单的,在未来还会不断完善。Android SDK如果要实现类似与MFC中视图/文档模型(View/Document Model),恐怕还需要等待一些时日
分享到:
评论

相关推荐

    android开发MVC框架demo

    在这个MVC框架中,开发者可能已经创建了一些抽象的基类或接口,定义了网络请求的结果如何传递到视图,以及如何处理回调等。 **项目结构与封装** 项目的结构应该是模块化的,每个组件都清晰地归属到Model、View或...

    android MVC框架

    在Android MVC框架中,HTTP库如OkHttp或Retrofit常用于处理网络请求。它们提供了异步或同步的方式与服务器进行数据交换,支持GET、POST等多种HTTP方法。而Socket通信则适用于需要长连接和实时数据传输的场景,如聊天...

    android MVC开发框架

    下面,我们将深入探讨Android MVC框架的核心概念和实现方式。 1. **模型(Model)**:模型是应用程序的核心,负责处理业务逻辑和数据管理。在Android中,模型通常包含与服务器交互的网络请求、数据库操作、数据计算...

    Android MVC框架

    在Android中,MVC框架的实现相对简单。一个Activity可以看作是控制器,它可以管理多个视图,通过`setContentView()`方法指定要显示的布局。布局文件中的每个视图都有一个ID,通过`findViewById()`方法获取到对应的...

    Android中怎么使用PureMVC框架

    Android中怎么使用PureMVC框架

    PHP mvc框架

    在PHP MVC框架中: 1. **Model** 负责处理数据和业务逻辑。对于Todo应用,Model可能包含一个`Task`类,用于表示待办事项,包括其属性(如任务标题、描述、状态等)以及操作这些任务的方法。 2. **View** 是用户看到...

    Android MVC框架+网络封装

    自己多年经验总结的MVC框架,使用了现在比较流行的butterknife、logger等依赖,使用了RecyclerView进行了一些列表展示,刷新用的SwipeRefreshView进行了上拉、下拉刷新、分页加载,简单操作,代码简洁 自己用的一款...

    android应用开发MVC框架(一)

    android应用开发中,很多时候都在找适合自己应用的一种框架,便于应用的更为合理开发,也易于应用功能的扩展,但其实并没有说哪一种架构就是对所有应用都是适应的,所以我们只能在学习摸索之中找到适合我们自己应用...

    简单的android mvc 框架

    在Android MVC框架中,Model通常包含数据对象、数据库访问对象(DAO)和与服务器交互的网络API。它的职责是保持数据的一致性和有效性,并提供数据给视图或控制器进行操作。当数据发生变化时,Model会通知视图进行...

    Android+MVC框架使用分析

    在Android开发中,MVC框架同样发挥着重要作用,帮助开发者将业务逻辑、用户界面和数据管理有效地分离,提升代码的可维护性和可扩展性。 **MVC模式的构成** 1. **Model(模型)**:模型层负责处理应用程序的核心...

    android应用开发MVC框架(二)

    android应用开发中,很多时候都在找适合自己应用的一种框架,便于应用的更为合理开发,也易于应用功能的扩展,但其实并没有说哪一种架构就是对所有应用都是适应的,所以我们只能在学习摸索之中找到适合我们自己应用...

    AndroidMvc, Android MVC/MVP/MVVM 框架.zip

    AndroidMvc, Android MVC/MVP/MVVM 框架 AndroidMvc框架 特性易于实现 MVC/MVP/MVVM Pattern 用于Android开发增强的Android生命周期- 比如 视图需要刷新时,但不需要旋转,onResume() 不足以区分两个场景。

    android mvc框架demo

    之前同事外派回来,给我们分享了他们的工作经验,其中MVC比较吸引任。M主要是数据的存储,V主要是activity,用来做页面的显示和事件的处理,C是具体的逻辑类,复杂的逻辑和对model的管理都由它来做,和观察者结合...

    Android 开发框架 基于MVC框架.zip

    开放源代码:Android系统采用开放源代码模式,允许开发者自由访问、修改和定制操作系统,这促进了技术的创新和发展,使得Android系统具有高度的灵活性和可定制性。 多任务处理:Android允许用户同时运行多个应用程序...

    事件系统,MVC框架,运用观察者、适配等制作的Unity安卓小游戏.zip

    事件系统,MVC框架,运用观察者、适配等制作的Unity安卓小游戏事件系统,MVC框架,运用观察者、适配等制作的Unity安卓小游戏事件系统,MVC框架,运用观察者、适配等制作的Unity安卓小游戏事件系统,MVC框架,运用...

    MVC框架demo

    **MVC框架的优势在于:** 1. **解耦合**:各组件职责明确,降低了组件间的依赖,方便修改和维护。 2. **可重用性**:Model层可以独立于View和Controller,使得业务逻辑可以在不同界面中复用。 3. **测试友好**:更...

    基于android的MVC框架.zip

    开放源代码:Android系统采用开放源代码模式,允许开发者自由访问、修改和定制操作系统,这促进了技术的创新和发展,使得Android系统具有高度的灵活性和可定制性。 多任务处理:Android允许用户同时运行多个应用程序...

    Android 常用六大框架

    (2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。 (3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传...

    android雷电的游戏框架

    MVC架构是一种软件设计模式,广泛应用于Web开发和游戏框架中。在这个模式下,游戏逻辑、用户界面和数据模型之间有着清晰的分离: 1. Model(模型):负责处理游戏的核心逻辑和数据,如角色状态、游戏规则等。它与...

    android MVC模式

    虽然在Android原生框架下,MVC的Controller角色可能会过于复杂,但通过引入其他设计模式,我们可以更好地利用MVC理念,构建出高效、易于维护的Android应用。在实际项目中,开发者可以根据需求选择适合的设计模式,...

Global site tag (gtag.js) - Google Analytics