Android 四大组件 与 MVC 架构模式

作为一个刚从JAVA转过来的Android程序员总会思考android MVC是什么样的?

  首先,我们必须得说Android追寻着MVC架构,那就得先说一下MVC是个啥东西!

总体而来说MVC不能说是一个设计模式,因为划分维度太大,所以MVC应该属于架构模式!

  百度百科 —— MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑和数据显示分离的方法组织代码,将业务逻辑被聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

模型层、视图层、控制层各司其职责,相互独立,一个模型可以有多个视图,一个视图可以有多个控制器,同样如此,一个控制器也可以有多个模型。

  MVC 基本处理流程如下:

  用户与视图交互,视图接爱并反馈用户的动作;视图把用户的请求传给相应的控制器,由控制器决定调用哪个模型,然后由模型调用相应的业务逻辑对用户请求进行加工处理,如果需要返回数据,模型会把相应的数据返回给控制器,由控制器调用相应的视图,最终由视图格式化和渲染返回的数据,对于返回的数据完全可以增加用户体验效果展现给用户。

Andorid针对MVC实现得意于提出了四大核心组件,具体的详细先不讨论,今天主要想简要说一下本人对四大组件的一些感性认识:

Activity: 处理与UI相关的事件,呈现界面给用户并响应用户的请求 ( 打开一个应用,展现在你眼前的全是Activity。Activity是一个容器,她可以其承载它控件!);

Service: 后台服务,一般用于耗时操作,在后台和长时间运行(人前风平浪静,人后马不停蹄!Service是幕后工作者,虽然你看不到他干事的过程,但你能看到最终的结果。Service虽是幕后工作,但不是不要工钱,系统开销一点也不少);

 BoadcastReceiver: 接收广播事件并对事伯点击进行处理,如当收到短信时系统会发现短信到来的广播,能够处理该广播的BoadcastReceiver就会根据自己需要进进处理(广播,这个道里大家都懂吧!);

ContentProvider: 存储、处理数据并提供给外界一致的处理接口;

我写了一个关于Android四大组件的一个小故事和大家分享一下:

   我去麦当劳用餐,进门前就能看到麦当劳的logo和面店装饰。

走进店里,装潢格局,桌椅餐具,服务员全都麦当劳风格。包括前台点餐都和交流用语都是一模一样,标准的麦当劳模式。(现在我眼前的一切就是 Activity)。

点餐后,我驻足等待。但这时我拿起最新的宣传广告看来起来,期间又接了一个工作电话。过了一会,我点的东西好了。端到自己的坐位上,我拿起发了一条微博和一条朋友圈,完全不关心忙碌的后厨和食物的制做过程(这就是Service)

一会店里的广播通知顾客去前台取已经做好的汉堡包和薯条,这时我身边的一位老兄起身去了前台。(这就是BoadcastReceiver)

就餐完毕,出门时我把点餐时打印的收据随手扔进了门口的垃圾箱(那收据就是ContentProvider)!

时间: 2024-12-14 04:50:25

Android 四大组件 与 MVC 架构模式的相关文章

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验. 1.说一说Servlet生命周期(非常重要) Servlet生命周期包括三部分: 初始化:Web容器加载servlet,调用init()方法 只执行一次 处理请求:当请求到达时,运行其service()方法.service()自动调用与请求相对应的doXXX

Android四大组件之BroadcastReceiver详细解析

什么是BroadcastReceiver? BroadcastReceiver作为Android四大组件之一,在实际开发中也发挥着重要的作用,广播机制在Android程序通信中至关重要,广播其实与我们现实生活中的电台很相似,电台在某个频道上发送它的内容,那么只要有在收听这个频道的人都会收到这些内容.在Android中,广播也同样分为两个角色:广播发送者.广播接收者. BroadcastReceiver的应用场景 1.在一个应用中,我们的Activity与Service的通信就需要用到广播来作为中

Android四大组件--Activity详解

Android四大组件--Activity详解 分类: android android应用android开发 本文的主要内容包括1.activity的建立.配置和使用:2.activity的跳转和传值:3.startActivityForResult:4.activity的生命周期. 1.activity的建立.配置和使用 Activity是一个应用中的组件,它为用户提供一个可视的界面,方便用户操作,比如说拔打电话.照相.发邮件或者是浏览地图等.每个activity会提供一个可视的窗口,一般情况

android四大组件

Activity 为应用提供了可视化用户界面,与用户进行交互 启动模式 standard singleTop singleTask singleInstance ContentProvider内容提供者 共享数据,为跨应用的数据交换提供了一个标准 insert update delete query ContentResovler uri BroadcastReceiver广播接收者 用于接收程序(包括用户开发的程序和系统内建程序)所发出的broadcastReceiver 耗电量 开机启动 窃

MVC架构模式

MVC架构模式 参考: MVC框架_百度百科https://baike.baidu.com/item/MVC%E6%A1%86%E6%9E%B6/9241230?fr=aladdin MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被

Android 四大组件之Service详解

                   Android四大组件之Service详解    来这实习已经10多天了,今天整理整理学习时的Android笔记.正所谓好记性不如烂笔头,今天来说说service组件. service可以在和多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务嘛,总是藏在后头的. Service是在一段不定的时间运行在后台,不和用户交互应用组件.每个

【Android的从零单排开发日记】之入门篇(六)——Android四大组件之Broadcast Receiver

广播接受者是作为系统的监听者存在着的,它可以监听系统或系统中其他应用发生的事件来做出响应.如设备开机时,应用要检查数据的变化状况,此时就可以通过广播来把消息通知给用户.又如网络状态改变时,电量变化时都可以通过广播来通知用户.要做比喻的话,广播就像是我们的感官,能够有效且快速的从外界获取信息来反馈给自身. 一.广播的功能和特征 广播的生命周期很短,经过 调用对象—实现onReceive—结束 整个过程就结束了.从实现的复杂度和代码量来看,广播无疑是最迷你的Android 组件,实现往往只需几行代码

Android四大组件——Activity

Activity作为Android四大组件之一,也是其中最重要的一个组件.作为一个与用户交互的组件,我们可以把Activity比较成为windows系统上的一个文件夹窗口,是一个与用户交互的界面.再进一步说,当我们拿起Android打开拨号功能,显示出拨号盘的界面其实就是一个Activity:当然,可以更大范围的说,手机屏幕上显示的任何界面都是一个个Activity. 官方对Activity的描述 Activity是一个应用程序的组件,他在屏幕上提供了一个区域,允许用户在上面做一些交互性的操作,

【Android的从零单排开发日记】之入门篇(五)——Android四大组件之Service

这几天忙着驾校考试,连电脑都碰不到了,今天总算告一段落了~~Service作为Android的服务组件,默默地在后台为整个程序服务,辅助应用与系统中的其他组件或系统服务进行沟通.它跟Activity的级别差不多,但不能自己运行只能后台运行.service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等, 总之服务总是藏在后台的. ps:Service运行在主线程中的,所