mvc模式在android开发上的应用研究

mvc模式在android开发上的应用研究

ID:21482092

大小:25.50 KB

页数:5页

时间:2018-10-22

mvc模式在android开发上的应用研究_第1页
mvc模式在android开发上的应用研究_第2页
mvc模式在android开发上的应用研究_第3页
mvc模式在android开发上的应用研究_第4页
mvc模式在android开发上的应用研究_第5页
资源描述:

《mvc模式在android开发上的应用研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、MVC模式在Android开发上的应用研究  摘要:根据Android应用开发语言Java的特点以及MVC模式的思想,提出一种基于注解的MVC模式,可用于Android应用的快速开发中,并根据Android跨进程应用的特点,提出一种解决方案,可使MVC模式用于跨进程应用中。  关键词:Android;Java;MVC;注解;AIDL  DOI:10.16640/j.cnki.37-1222/t.2017.03.118  随着搭载Android系统的智能设备的普及,对Android应用的需求也越来越

2、大,需要一种好的设计模式提高开发的效率。MVC(模型-视图-控制器)设计模式将数据和表现进行分离,既可以使数据以不同的形式表现,又可以方便的更换数据来源从而提高开发效率。由于Android系统以Java语言做为上层开发语言,本文基于MVC设计模式思想以及Java语言的特点,提出了一种基于注解的MVC开发框架,可大大简化应用程序设计。又根据Android应用程序的特点,提出了一种针对跨进程应用使用该框架的方案,提高了框架的适用性。  1MVC模式简介  MVC设计模式是一种“分治”的思想,它将模型和

3、视图分离,从而使同一组数据可以使用不同的表现形式。MVC由三部分组成:模型(Model),视图(View)及控制器。模型即数据来源,负责数据的生成及相关逻辑处理,视图是模型的外在表现,一个模型可以对应一个或多个视图。视图是应用程序与外界输入的接口。控制器是模型和视图联系的纽带,一方面将外界输入交给模型处理,另一方面又将模型处理好的数据交给视图来表现,使模型和视图同步更新。  在MVC设计模式中,三个层次作用清晰,各司其职,互不干涉,某一层的需求发生变化,只需要修改相应层而不会影响到其他层。同时分层

4、设计也利于组件的重用和功能的扩展,可以很方便的用不同的视?D来显示数据,从而使系统能轻松支持新的逻辑模块和视图显示。因此,在开发中使用MVC设计模式具有显著的优势。  2MVC模式的实现  使用观察者模式来实现MVC框架。实现步骤:  (1)定义抽象类Subjecter,持有观察者类的对象。(2)定义抽象类IModel继承Subjecter,作为模型的基类。(3)定义抽象类IView继承Subjecter,作为视图的基类。(4)定义抽象类IController,作为控制器,作为模型和视图之间的纽带

5、,控制器类同时持有模型和视图对象。(5)定义观察者Observer,观察者持有控制器对象。通过以上定义可以看到,模型和视图持有观察者对象,观察者又持有控制器对象,而在控制器又同时持有模型和视图对象。这样一旦模型的数据发生变化就可以通知观察者,观察者使用控制器来通知视图进行更新。而观察者中的控制器和控制器中的视图都是可以方便的更换,从而通过不同的控制器就实现了模型和视图的分离,也就是MVC模式。  3使用注解进行优化  建立了MVC模式之后,通过继承IModel,IView,IController就

6、可以使用MVC模式来进行开发了,但是在模型里面每多一种变化,相应的在控制器和视图里面就要增加代码来通知视图和响应这种变化,从编程的角度来看这些响应过程其实就是调用视图类相应的方法,在传统的编程中需要先在视图中定义方法,然后在控制器中调用。所以简化的关键是实现动态调用方法。JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。由于Java反射机制是基于方法名或变量名的字符串来实现的。可以使用字符串存储视图里面的方法名,然

7、后控制器读取字符串也就是方法名再通过反射来调用相应的方法。注解(Annotation),也叫元数据。可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。注解可以通过反射来获取。这样就可以把模型的变化定义为一个字符串类型的动作,给视图的相应方法加上以这个动作为值的注解,然后在控制器里面读取相应的注解,从而使模型的变化与视图的响应方法自动的对应起来,这样就减少了代码量,更易于使用。  基于上面的思路,首先定义注解:  @Target({ElementType.MET

8、HOD})  @Retention(RetentionPolicy.RUNTIME)  public@interfaceMVCAction{  Stringvalue()default"";  }  注解设定为可以使用在方法上,并且在运行时存在。  接下来的关键就是解析注解,在IView里面编写一个注解解析器,并将解析到的动作名与被该动作所注解的方法的名字一一对应保存在列表中,这样当模型数据发生变化就通过控制器向视图发送动作,在控制里面通过动作得到视图里面的方法名进而通过反射得到对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。