Android--入门---20---(Android中的【MVC】)

1.MVC设计模式简介:

              MVC本来是存在Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V代码分离,从而使同一个程序可以使用不同的表现形式,比如统计数据可以分别选用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

1.      MVC如何工作

MVC是一个设计模式,它强制性的将应用程序输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器,他们各自处理自己的任务。

1.      视图:

视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是有HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些的新技术层出不穷,它们包括AdobeFlash 、XHTML、XML/XSL、WML等一些标记语言和Web service。

如何处理应用程序的界面变得越来越有挑战性,MVC一个大好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机储存的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

2.      模型:

模型表示企业数据和业务规则,在MVC的三个部件中,模型拥有最多的处理任务,例如它可能用EJBs和ColdFusionComonents这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的冗余,增加了代码的重用性。

3.      控制器:

控制器接收用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面的超链接和发送Html表单时,控制器(Servlet)本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示处理返回数据。

现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。

2.      MVC的优点:

1.      低耦合性

2.      高重用性和可适用性

3.      较低的生命周期成本

4.      快速部署

5.      可维护性

6.      有利于软件工程化管理

7.       

3.      MVC的缺点:

1.      MVC并不适合小型、中等规模的应用程序

2.      设计阶段考虑到位

 

4.      Android与 MVC


该项目MVC分层:

1.    M(Model)模型层

Com.sharpandroid.domain:实体模型层,存放在程序中调用的实体类

Com.sharpandroid.service:业务模型层,存放在程序中用到的业务逻辑

2.  V(View)视图层

       Android很好的将显示层抽离,并放入res/目录中以xml的形式体现,虽然对于控件属性修改可以通过代码完成,但还是推荐将控件的属性在xml设置为佳,遇到动态修改的内容在采用硬编码的方式,这样增加了程序的可读性,也有利于软件后期的维护。

Main.xml 、shownews.xml、string.xml存放常量 drawable存放使用的图片文件

3.        C(controller)控制层

Control是Activity的天职,你只要告诉Activity做什么,而至于怎么做,那是模型的事。

 

 

打电话程序:

Intent intent = new IntentIntent.ACTION_CALL,Uri.parse(“tel:”+phoneno);

startActivity(intent);

<uses-permission android:name=”android.permission.CALL_PHONE”>

发送短信程序:

       SmsManager smsManager = SmsManager.getDefault();//获得短信管理器

       List<String> texts = smsManager.divideMessage(content)//将吵70个汉字的短信拆分

       For(String text : texts ){

              smsManager.sendTextMessage(mobile,null,text,null,null);

       }

       Toast.makeText(SMSActivity.this,R.string.success,Toast.LENGTH_LONG).show();

       <uses-permission android:name=”android.permission.SEND_SMS”>

<uses-permission android:name=”android.permission.RECEIVED_SMS”>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值