-姚佳佳-信息科学与工程学院电子与通信工程_第1页
-姚佳佳-信息科学与工程学院电子与通信工程_第2页
-姚佳佳-信息科学与工程学院电子与通信工程_第3页
-姚佳佳-信息科学与工程学院电子与通信工程_第4页
-姚佳佳-信息科学与工程学院电子与通信工程_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 文本复制检测报告单(全文标明引文)检测文献:作者:检测范围:21110233004-姚佳佳-信息科学与工程学院电子与通信工程姚佳佳 中国学术期刊网络出版总库 中国博士学位论文全文数据库/中国优秀硕士学位论文全文数据库中国重要会议论文全文数据库 中国重要报纸全文数据库中国专利全文数据库 互联网资源 英文数据库(涵盖期刊、博硕、会议的英文数据以及德国Springer、英国Taylor&Francis 台学术文献库 优先出版文献库互联网文档资源个人比对库 1900-01-01至2013-03-24 期刊数据库等)时间范围:1 绪论 1.1 课题研究背景 随着现代社会的进步与科学文明的不断发展,人们

2、的物质生活不断丰富,但是人们的健康状况却不容乐观。据世界卫生组织的全球调查结果显示,75%的人群处于健康和患病之间的一种过渡状态,称之为亚健康状态1,此外,有20%的人是需要到医院进行治疗的,仅仅5%的人才是处于完全的健康状态的。伴随着人们生活水平的提高和医学水平不断进步,大众健康生活观念的普及,人们关切的医疗课题不再只是治疗已经出现临床症状的病人,而是关注如何防患于未然2。现代人对健康的关注和疾病的预防已经深入到了生活的方方面面。 目前,随着经济和科技的迅猛发展,移动终端所包含的功能也日益强大3,越来越多的曰常应用软件被开发并加入到了手机当- 1 - 1. 21110233004-姚佳佳-信

3、息科学与工程学院电子与通信工程_第1部分总字数:11550 文字复制比:3.5%(410)(0) 1 消息流驱动的移动应急系统开发框架研究与实现 2.9% 邢永磊(导师:殷波;魏志强) - 中国海洋大学硕士论文- 2012-05-26 是否引证:是 2 基于B/S结构的新生报到服务系统的设计与实现 1.0% 卢淑萍(导师:;方国红) - 华南理工大学硕士论文- 2012-04-20 是否引证:否 原文内容 总文字复制比:2%去除引用文献复制比:0.4%去除本人已发表文献复制比:2% 单篇最大文字复制比:1.3% 重 复 字 数 : 521 总 字 数 : 25463单篇最大重复字数: 333

4、总段落数: 3前部重合字数:410疑似段落最大重合字数:410 疑似段落数:3后部重合字数:111疑似段落最小重合字数:43 指标:剽窃观点 自我剽窃一稿多投过度引用整体剽窃重复发表剽窃文字表述 表格:0脚注与尾注:44 3.5%(410)21110233004-姚佳佳-信息科学与工程学院电子与通信工程_第1部分(总11550字) 0.6%(68)21110233004-姚佳佳-信息科学与工程学院电子与通信工程_第2部分(总11324字) 1.7%(43)21110233004-姚佳佳-信息科学与工程学院电子与通信工程_第3部分(总2589字) (注释:无问题部分文字复制比部分引用部分) AD

5、BD2013R_2013032412453120130324124550200556613050检测时间:2013-03-24 12:45:50 中, 移动互联网已经开始渗透到社会和生活中的各个领域。移动医疗是一种通过移动通信技术,使人们不受时间地点的限制 ,在移动设备上方便的为人们提供各种与健康相关的信息和服务,以达到维护个人健康的目的。随着智能手机的普及,移动医疗在医疗健康解决方案中展现出来了巨大潜力,不仅可以极大地改善医疗护理的质量,而且可以大大的降低成本4。 本系统在Android平台上进行开发,该系统具有使用广泛,操作简便等优点,用户可以将本系统下载到手机等可移动终端设备上使用。该系

6、统重点解决的问题就是现在人们面对快节奏的生活环境,不能抽出充足的时间去关心个人健康的难题5。本系统使人们可以不受任何时间地点的限制随时随地的对个人身体状况进行检测和分析。国内大众群体对于医疗健康方面的服务需求很大。移动互联网会是一个很好的补充,会带来更多的应用前景,也会有更多更大的机会。 1.2 健康信息服务的研究现状 健康信息服务目地在于利用现代化高新技术手段,如移动互联网,智能手机,云计算等现代科技手段,实时搜集处理健康信息资源结合个人身体健康指标6,为人们提供有价值的健康生活导引信息,来帮助人们更好地调节控制自身的健康问题,促使人们更好更健康的生活。基于此,本文对国内外健康信息服务的现状

7、进行研究。 1.2.1 国外的研究现状 * 美国 早在20 世纪90 年代末,美国国立医学图书馆开始实现从仅对医疗专业人员提供服务逐步转向为普通市民提供健康信息服务和援助的面向大众化的健康信息服务的转型。 美国最大的健康信息服务网站-WebMD7,不仅为医务人员和卫生健康专家提供专业的门户网站的,而且提供了综合门户网站为普通市民提供服务,还提供了一些非在线的健康出版物。此外还与其他公司建立战略联盟关系,为市民提供各种各样的保健资料、技术设备信息和其他相关服务。 2004年,当时的美国总统布什首次提出了“总统健康信息技术计划8”,最近,美国总统奥巴马也把健康信息服务的发展确定为国家医疗事业发展的

8、一个重点。 * 加拿大 为了给更好的改善患者的治疗状况,更加有效的管理现有的医疗保健体系,加拿大的各个省份都在发展医疗保健体系。 21世纪初,加拿大的全国营养学会宣布了一项服务,该服务通过定期为消费者提供健康饮食增强体质的可靠信息,进而实 现为全体加拿大公民提供信息服务。2009年,加拿大多伦多TE LUS 电信公司与微软公司合作开发了一个Health-Vault平台, 为全体加拿大全人提供健康信息服务,该服务可以对每个加拿大公民的个人健康信息进行管理和记录。 1.2.2 国内的研究现状 随着2005年10月我国劳动和社会保障部将健康管理师设为卫生行业的特有职业,并且健康管理师国家职业标准9的

9、颁布 ,国内才开始对健康信息服务进行越来越多的关注。目前国内对健康信息服务进行研究的学术团队也在进行实践研究,但是权威部门的统计数据显示,国内在面向普通市民的健康信息服务理念与实践上的研究总体上比较欠缺,不能充分满足公众对健康信息的需求。 目前国内规模最大、最权威的公众健康信息服务网络媒体-39健康网10,虽然可以向公众提供及时的、比较系统全面且专业性强的健康信息服务,但是这种规模仍然不能满足我国13亿人口的需求。国内尚未建立起科学有效的健康信息服务系统。为了促进我国健康信息服务工作的高效,快速的发展,构建一个面向全体公民,集疾病查询、信息咨询、健康教育等为一体的综合健康信息服务系统是很有必要

10、的。 1.3 课题研究的意义 基于Android的健康信息服务系统客户端的设计,是在目前比较流行的Android操作系统平台下开发的,Android是真正意义上的开放性移动平台,它的这种开放性体系架构不仅使开发成本低廉,还可以承载起服务提供商开发多种定制化产品,具有极大吸引力的应用前景。在这个平台上方便的为社会公众提供便利的,高效的健康信息服务,具有极其重要的价值。 面对人们生活在压力大、节奏快的环境,不能抽出充足的时间去关心个人健康的难题,本课题以Android系统为基础向社会公众提供便利的,高效的健康信息服务,使人们可以不受任何时间地点的限制随时随地的对个人身体状况进行检测和分析 ,而且可

11、以帮助人们节省大量的时间,在有效的时间内达到事半功倍的效果。 目前国内对健康信息服务系统的研究还不够成熟,科学有效的健康信息服务系统尚未建立,对健康信息服务系统的研究意义深远。 通过构建健康信息服务系统,医院可以将医疗服务信息及时的提供给全体公民,这样不仅给医院使公众能够享受更加便捷的医疗服务,同时又拉近了医院与用户之间的距离,减少了沟通成本。总之,对基于Android的健康信息服务系统客户端的研究和开发意义重大,将海量的、分散的健康医疗信息集成起来,实现信息共享和增值,使得用户可以在统一环境下从多个分布式数据源获取所需的健康信息,对于推动人民群众健康医疗事业的发展具有重要意义有利于社会公众养

12、成健康的生活方式,进而达到促进居民健康的目标。 1.4 论文研究内容及组织 本课题主要是开发了一套基于Android平台的健康信息服务系统客户端,该客户端以向社会公众提供便利、高效的健康信息服务为目的11。本文的主要研究内容首先是对健康信息服务系统的国内外研究现状进行分析研究,进而提出了本课题的研究意义和该客户端产品所具有的价值。然后对在设计健康管理系统客户端时所涉及到的关键性技术进行分析研究。其次对用户需求和系统总体架构进行分析,进而设计出来健康信息服务系统总体方案及系统的各个功能模块。最后对健康信息服务系统移动客 户端各个模块功能进行详细设计,完成了基于Android的健康信息服务系统移动

13、客户端的设计与实现。本篇论文有六个章节组成,下面对个章节的主要内容进行说明: 论文的第一章是绪论部分,首先介绍了本课题所做研究的背景,然后对健康信息服务的国内外研究现状进行介绍,经过以上分析,对本课题的研究意义重大。研究背景介绍了现代人们生活所面临的健康问题和人们健康生活观念的转变。研究现状介绍了国内外对健康信息服务系统的研究现状。根据以上这些介绍说明了健康管理系统客户端的开发对于向社会公众提供便利、高效的健康信息服务极具意义。 第二章关键技术部分,对健康信息服务系统设计与实现过程中涉及到的关键技术进行分析,包括C/S与B/S融合的开发模式、Android手机操作系统的基本知识和系统架构、在A

14、ndroid上实现的Ajax技术、JSON数据交换格式、注解驱动的IOC容器 ,MVC模式,Android异步通信机制,Afinal Android开发组件。 第三章系统开发框架设计部分,研究分析了异步通信框架的设计、自定义组件及功能类的设计、服务器端组件设计。 第四章健康信息服务系统移动端的总体研究与设计部分,首先分别从用户对系统的功能和性能方面的需求进行分析,然后将用户对系统的要求转化为健康信息服务系统的需求分析。进行根据需求分析出系统要实现的具体几个功能模块,构建起整个健康信息服务系统移动客户端的开发框架。然后对数据库进行设计,最后对每个功能模块进行详细的设计。 第五章健康信息服务系统移

15、动端的实现与调试部分,完成系统要实现的具体几个功能模块的详细设计,最终实现了基于Android的健康信息服务系统移动客户端。 第六章总结与展望部分,对本论文所做的主要工作内容进行了总结,然后对本系统进行下一步要深化研究的部分进行了展望。 2 关键技术 2.1 C/S与B/S融合的开发模式 如今比较流行的软件系统结构模式有B/S(Browser/Server,浏览器/ 服务器)和C/S(Client/Server,客户端/ 服务器 )模式。B/S 和C/S 各有千秋。B/S结构的主要优点在于分布性强,具有比较小的维护工作量,适用于 Internet、http应用 ,开发简单,也不需要连接数据库,

16、总体拥有成本比较低。同时该系统在软件的个性化特点、数据安全性、数据传输速度、交互性能等方面的性能有明显的缺陷。C/S结构在技术上要比B/S结构成熟,其主要优点在于数据安全性能比较高、人机交互性强、利于对较大的数据量进行处理12。但是基于该结构开发的程序不能够灵活的进行变更,进行维护和管理的难度比较大,且开发成本比较高。 综合起来看,凡是B/S的长处都是C/S的短处,反之亦然。这两种结构模式具有不同的优点和特点,是不可以相互取代的 ,我们考虑充分利用这两种模式各自的优势,构建一种将两种模式交叉并行起来融合开发模式13,客户端接口调用采用HTTP协议,统一了面向网页以及面向客户端的接口,充分发挥各

17、种模式的优越性。方便为不同的子系统选用不同的系统平台 ,与单独采用C/S或者B/S模式,融合开发模式必然会有非常大的优越性:首先数据安全性能比较高,从而保证了敏感数据的安全;其次可以方便简洁的对系统进行维护14;再者具有较强的人机交互性能;此外,该融合系统还具有操作简单,速度快等优势。 2.2 JAVA类库资源 2.2.1 Afinal Android开发组件 Afinal 是一个开源的Android的ORM和IOC快速开发框架15。而且封装了Android中的HttpClient,使其更加简单易用。Afinal目前尚未发布正式版本,其预览版中主要包含了四大组件: FinalHttp:用于请求

18、Http数据,通过HttpClient进行封装Http数据请求,支持直接Ajax方式请求。 FinalBitmap:用于显示bitmap图片,通过FinalBitmap,ImageView加载Bitmap的时候无需考虑线程并发和OOM等问题。 FinalBitmap的内存管理使用lru算法,可以更好的管理Bitmap内存。FinalBitmap还具有自定义下载器和Bitmap显示器的功能 。 FinalActivity:Android中的IOC框架,完全可以通过注解方式绑定控件和setClickListener等编写代码16。 ,无需使用findViewById和FinalDB:Android

19、中SQLite的ORM框架,使用简单,一行代码就可以完成对数据库的各种操作功能。同时支持一对多和多对一的查询。 Afinal框架设计简单、体积小巧灵活,且不依赖第三方的jar包。在Android开发中使用Afinal框架,可以轻松的实现对数据库增删查改的各种操作,使Http请求支持Ajax方式,还使得Android的控件和绑定完全通过注解的方式,无需编写多余的代码,此外通过灵活的注解配置可以达到更加强大的功能。在此应用开发时其尚未发布正式版本,开发资料很少,除了官方介绍之外尚未找到其他的相关资料。不过得易于其是开源技术同时代码结构简单合理(压缩后只有150KB),我们可以很方便的获取其源代码进

20、行解读,并对部分功能进行二次扩展。 2.2.2 GSON类库 本次开发以JSON为数据交换格式,JAVA本身不提供对JSON数据的解析与封装,这些工作通常需要开发者同过字符串解析等手段实现自己的JSON解析引擎,但对于JAVA有大量第三方开源技术提供的对JSON序列化及反序列化的实现。在Android平台上ADK为我们提供了一个JSON解析与生成的API组件,不过使用过程中与JAVA类库相比功能过于简单,效率上也略有退步。由于Android平台与JVM的不兼容,大部分类库在Android平台上不能很好的运行,经过查找资料,我们寻找到这款由Google发布的 第三方JSON类库GSON作为我们J

21、SON序列化及反序列化的工具。 GSON类库功能强大,提供了JSON字符串验证、解析、反序列化为JAVA自定义对象的丰富手段。节省了我们使用JSON时生成JSON数据流以及解析JSON数据流、封装为JavaBean对象的时间和流程,使得JSON能够广泛的方便的应用于我们的开发使用中。2.2.3 OSCHINA开源客户端 开源中国(OSCHINA)网站客户端,是开源中国网站出品的一款高质量的完全开源的门户类客户端,除发布Android客户端之外还发布有windows phone、ios两款客户端。其特点为完全基于开源技术,主要由网站技术人员及社区成员维护,源代码完全开放,代码质量高,功能丰富合理

22、,可作为出色的Android开发的范本研习也 出于对软件开发的时间、工作量、需求、节省成本等方面考虑。在向OSCHINA开发者征询其同意后,此次客户端选择在OSCHINA的客户端的基础上进行二次开发,套用其UI布局及部分图片素材,以弥补开发人员UI设计的劣势,并尽量进行代码复用,保证开发任务的完成。 2.2.4 GreenDroid UI 库 GreenDroid是一个为Android平台开发的UI组件库。它的目的是让程序员在碎片化的Android开发平台上开发出具有一致性 用户体验的应用程序。同时,通过GreenDroid UI框架提供高效UI开发平台,编程人员可以毫不费力对具有各种功能的U

23、I组件进行引用,简单的堆叠出自己满意的UI界面,并进行代码复用,在这个基础之上避免了大量重复劳动的工作,而且这些都是可以很方便的进行修改的。 图2. 1 GreenDroid UI展示 再次之前的开发中,Android SDK本身提供的界面UI组件库只能作为Android应用UI开发的骨架。常用的开发方法是在Android UI组件上进行继承,实现出比之功能更强大、更丰富的UI组件库。本次开发过程中,也进行了承担主要展示功能的四向滑动ListView的封装和开发工作,而其他一些具有动画效果的组件或实现颇为复杂的UI组件,我们选择在GreenDroid的基础上进行开发或直接使用。 2.3 And

24、roid手机操作系统 2.3.1 Android的特性 2007年11月,Google公司发布了一个手机操作系统-Android,该系统是基于Linux系统的,是一个真正意义上的开放性移动设备平台17。据权威数据显示, Android已经开始取代苹果的iPhone,成为增长速度最快的智能手机操作系统。与其他的手机操作系统进行比较来看,安卓手机操作系统具有很多优良的特性。第一,Android系统具有良好的平台开放性,不仅可以为用户提供免费的服务,还可以为程序员提供免费的开发环境使个性化根据个人的喜好进行系统修改,增设主题等操作,由此看来Android有巨大的发展空间和的商业利润。第二,Andro

25、id平台挣脱了运营商和开发商的束缚18。Android项目目前正在从手机运营商、设备制造商、开发者和消费者那里获得大力支持。消费者可以不受运营商的制约进行方便的网络连接。第三,与Google应用无缝结合。比如Google Map、Google Search、Gmail等优秀的Google互联网服务,不仅可以使用户在手机上方便的使用,而且还可以把它们封装成API供其他应用程序调用。第四,代码完全开源,便于程序员开发,便于代码调优。有着完善的开发社区,开发资料完善丰富。Android设备价格便宜、模拟器完善、适用于各种操作系统、开发成本低。 2.3.2 Android 的 系 统 架 构Andro

26、id平台从下至上包括四个层次依次是Linux内核层、系统运行库层、应用框架层、应用层。第一层Linux内核层,包 括Linux 操作系统及驱动,提供核心功能和系统服务,如安全性管理、内存管理、进程管理、网络协议栈和驱动模型等19。Linux内核也是软件与硬件栈间的抽象层。除此之外, Android系统还增加了一些与移动设备相关的驱动程序。第二层系统运行库层,通过一些C/C+库来支持我们使用的各个组件,更好的为我们服务。这层通过Android的Java虚拟机Dalvik和基础的 Java库为Java运行环境提供了Java编程语言核心库的大多数功能20。第三层应用框架层,该层为开发人员提供了编写

27、Google发布的核心应用时要用的API框架,开发人员使用这些框架来开发自己的应用,大大简化了程序开发的架构设计,提高了整个编程框架的可重用性21。Android源代码还包括很多现成的服务,比如提供了视图(View)组件用于构建用户界面 ,内容提供器(Content Provider)组件用于访问其他应用程序中的数据等。第四层应用层,该层自带了Android系统的一些核心应用程序,比如E-mail客户端、短信程序、日历、地图、浏览器、联系人管理程序等,Android应用使用JAVA语言编写运行在Dalvik虚拟机上的程序。 2.3.3 Android异步通信机制 在Android开发中,如果在

28、UI线程中进行过于耗时的操作,就会出现“强制关闭,等待”的提示信息,因此涉及网络编程或某些耗资源的操作不能使用主线程来处理,只能将它们放到非主线程中异步执行,达到不阻塞UI的效果。在Android中有两种异步机制:一种是使用Thread与Handler结合的方式,另一种是使用AsyncTask类。 一种异步处理方式是使用Thread与Handler结合的方式实现非UI线程更新UI界面。每个Android应用程序都运行在虚拟机的一个进程中,当进程开始的时候会启动一个主线程,这个主线程负责与UI相关的,所以我们称主线程为UI线程。由于Android采用的是UI单线程模型,只能在主线程中对UI进行操

29、作,我们可以应用Android提供的消息循环机制实现非UI线程与 UI线程之间的的通信,最终达到让UI线程进行UI操作的目的。使用Handler与Thread结合的方式来创建独立于主线程的新线程 ,不会影响到主线程的运行,Handler的作用就是一个队列,先进先出,进而实现了异步机制。 使用AsyncTask类是另外一种更为简洁的实现异步更新UI界面的方式。AsyncTask是在Android SDK 1.5之后出现的,目地就是为了方便编写线程与UI线程交互。AsyncTask提供一些抽象类的方法,使用户不用创建线程的情况下管理操作 22。AsyncTask的特点是在主线程之外运行任务,Asy

30、ncTask的内部实现是一个线程池,每个任务会提交到线程池中的线程执行,在主线程中执行回调方法,有效地避免了使用Handler带来的麻烦。使用AsyncTask类不仅可以给用户带来良好的用户体验,而且不再需要子线程和Handler就可以完成异步操纵并且刷新用户界面,在编程语法上也显得优雅了很多。 在本次开发中,我们对AsyncTask组件类进行继承,在其中封装了常用的任务功能及我们这次开发所需的一些特定场景功能(如自定义ListView组件的异步更新),实现了便于我们开发的自己的异步通信框架,极大的提高了开发进度与效率。 2.4 类似Ajax的异步网络访问机制 Ajax全称为“Asynchro

31、nous JavaScript and XML”(异步的JavaScript和XML),是一种创建快速动态网页的技术。 类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是由几种蓬勃发展的技术以新的强大方式组合而成。Ajax技术盛行于WEB应用开发,涵盖Java Scrip,XMLHttpRequest,XML,CSS,Html。Ajax使用SOAP或者其他一些基于XML的web service接口,在客户端采用Java Script处理来自服务器的响应23,通过仅仅向服务器端发送并取回必须的数据。基于Ajax的异步机制,用户可以在不刷新网页的情况下,获得网页信息的最新状态,异步更新

32、网页信息,从而获得与本地应用一样的使用体验。与在WEB应用上使用Ajax技术一样,在Android开发中创建引人注目的用户体验的关键就是使用了类Ajax技术。因为移动网络的延迟比较大,还受到处理器速度、内存和缓存大小的限制,应用类Ajax技术可以解决速度和效率的问题24。 在本论文中,我们使用了一种在Android上进行开发的类似于WEB开发中使用的Ajax技术。借鉴Ajax的思想,并且得易于Android提供的AsyncTask异步通信机制及第三方HTTP通信API,我们实现了一套用于客户端开发的HTTP异步通信API。对外提供的接口功能足够丰富,同时将很多异步网络连接需要考虑的关键问题都进

33、行了封装使得开发者可以专注于自己需要解决的问题,避免的大量重复劳动。对于耗时性比较大的网络请求封装在异步功能类中,将其放置于运行结果,也能带来完美的用户体验。 2.5 JSON数据交换格式 线程中运行,实时返回给UI界面JSON(JavaScript Object Notation) ,是一种轻量级的数据交换格式25,可以方便的在多种语言之间进行数据交换26。易于人们阅读和编写,同时也易于机器解析和生成27。目前比较主流的两大数据传输格式是JSON和XML,与JSON数据传输格式相比较,XML是一种结构化的文档,造成其有很多不足之处,比如XML的数据格式比较复杂,代码的开发量比较大,开发效率比

34、较低,而且在客户端和服务器端都要对其进行手动生成和解析,解析速度也相对较慢。而JSON是用纯文本来保存数据的,具有平台无关性和语言无关性,将其应用在开发过程中可以大大的提高开发效率和用户体验,它一系列特性使它成为理想的跨平台数据交换语言。 JSON有两种构建形式。一种是对象,无次序的“键/值”对集合,每个JSON对象用大括号进行标识,每个“键”后面加以冒号用于和“值”进行分隔,而“键/值”对之间使用逗号将其分割28。值的类型可以是数值、数组、字符串、对象等 ,JSON创建的这种格式的数据可读性比较强,可以用于表示对象、记录等。另一种是数组,值的有序表,每个数组用中括号作为标志,值之间使用逗号进

35、行分割,当表示一组值时,这种形式的JSON数据具有较强的可读性,可以减少复杂性,而且这种结构是可以嵌套使用的。 JSON可以用来序列化和反序列化,与XML相比,采用JSON的数据交换格式极大的降低了序列化与反序列化过程中的冗余度 ,大大提高了开发效率。由于JSON的轻量级特性,使其占用较小的带宽和较大的传输速度29。移动应用的网络流量低和数据传输速率有限,鉴于JSON如此优良的特性,在实际开发过程中采用JSON数据传输格式是比较理想的选择,可以有效的提高链接速度,降低网络流量资费。 JAVA语言丰富的JSON类库资源为我们使用JSON作为数据交换格式为我们专注于业务开发提供了极大的便利。 2.

36、6 注 解 驱 动 的 IOC 容 器 JAVA反射机制(Reflection)是指程序在运行过程中,允许JAVA类对自身进行“内省”,包括获得自身属性的名称、方法 的名称以及各种属性和方法的可访问性,而且还可以对该类的实例进行操作,包括更改一个实例的属性,在该实例上调用类的方法等30。 当今,在各种应用开发框架中,基于注解的配置成为一种主流趋势。同过JAVA提供的注解机制,可以轻松的完成对类、属性、方法的编译时的预处理,或运行时的动态处理。而要开发好一款Android应用,我们要用到非常多的UI组件,同时还要为这些组件的绑定好各种各样的处理方法,常用的Android平台UI绘制方式,就是在X

37、ML文件中进行配置描述UI组建,然后在Activity代码中通过Androi调用上需要创建台Windows CE下的.NET开发环境,其UI组建的注入及身提供了类似于属性编辑的基于注解,在Android应用开发上,我们也能够达到类似的结果,不过相映的注解定量的重复编写及绑定,IDE本析引擎及相应的配置规则,则需要开发人员自己去完成。在这我们选取了开源的Afinal框架作为我们二次扩展的注解解释器,在其基础上进行注解配置的功能扩展及开发。Afinal框架功能简单实用,源代码结构合理可扩展性强,API简洁,调用简单,学习曲线平缓,同时性能与Android传统开发方式差距非常小。此框架在实用性上与二

38、次开发工作量上都贴近于我们的需求。 Afinal提供了基于注解驱动的绑定机制,同时提供了Click响应方法的调用,在开发过程只需在Activity中编写一个 - 5 - 输入参数为View视图的public void handlerClick(View v)方法同时在注解中进行click参数的配置即可完成UI注入及绑定。基于注解进行UI的绑定注入,同时基于注解的属性配置,来完成各种调用方法的绑定。配置简单,易于开发,将开发人员从大量重复代码的体力劳动中解放出来,同时使得代码更为简洁美观,同时后期扩展及维护上也更为容易顺手。在本次开发中,我们在Afinal提供的注解框架上进行了扩展,使之能工完成

39、除click进一步的减小开发工作量。 之外的其他多种处理方法的绑定任务,更控制反转容器 (Inversion of Control后文称为IOC容器),是一种将接口的具体实现和对象的组装延后至编译后,并将这些配置从代码提取到配置文件中的一种面向接口的编程方式31。使得开发人员可以从各种JAVA类的管理中解放出来,同时可以通过配置介入程序运行时的各种初始化方法、属性赋值、方法调用等流程,提高代码的组件的结构性,从而提高了代码重用性。这种注解驱动的IOC容器最常用的为SPRING FRAMEWORK开源的IOC容器,但是其相对我们这次开发需求偏于重量级,而且其提供的Android平台的IOC容器与

40、常用的其JAVA实现的IOC容器在使用方法上差别很大(主要由Android虚拟机与JAVA虚拟机的不兼容部分造成),造成学习曲线陡峭。所以我们借助Apache提供的common-beanAPI及java反射机制实现了一个功能简单实用的 IOC容器,可以提供JAVA对象管理,方法调用2.7 MVC开发模式 设计模式(Design Pattern) 等简单功能。 可以认为是一组成功方案和经验的模式化表示,特定的模式,描述了相关问题域的一个成熟的已经验证过的解决方法。目前,设计模式在软件开发领域得到了很好的应用。 MVC (Model-View-Controller)模式广泛的应用在系统框架的开发与

41、研究中。它区分了数据存储和显示数据的对象,将传统的输入、处理和输入模型转化为图形显示的用户交互模型33。在MVC模式中,视图层和业务层的分离降低了耦合性;允许使用各种不同样式的视图来访问同一个服务器端的代码,提高了程序的重用性和可适用性;由于不同的层各司其职,有利于实现软件的工程化管理。 - 6 -脚注和尾注 1. 1 /html/200809/0266/6139.htm. 2. 2 熊娇. 家庭健康管理系统的设计和实现D. 北京交通大学, 2008. 3. 3 李秀丽. 智能家居系统中手持终端的软件设计与实现D. 南京邮电大学, 2012. 4. 4 张

42、秀香. 基于Android的健康管理系统客户端的设计与实现.硕士学位论文. 大连理工大学.2012. 5. 5 杜园园, 陈渝, 等. 基于 Android 的报警和健康管理系统C/2011 清华医疗管理国际学术会议论. 2011. 6.6 章向宏, 何彩升. 浅谈医院信息系统的规划与建设J. 中山大学学报论丛, 2002, 22(3): 175-179. 7.7 陈志恒, 朱小玲. 以人为中心实施全面健康管理J. 国际医药卫生, 2003 (08A): 42-42. 8.8 沈丽宁. 国外健康信息服务现状扫描及启示J. 医学信息学杂志, 2010 (006): 38-40. 9.9 李高尚,

43、 沈巍. 一种应用于移动健康医疗的 Android 客户端的研究J. 电子测试, 2012 (2): 64-67. 10. 10 吴静娜, 卢建华, 王福影, 等. 论健康管理的历史和现实J. 医学与社会, 2008, 21(7): 31-32. 11. 11 卢锐.基于移动互联网的中医健康信息服务系统的设计与实现D.电子科技大学.2011. 12. 12 刘振华, 何丕廉. C/S 与 B/S 混合模式学生体质健康管理系统设计J. 计算机与现代化, 2008, 1: 98-100. 13. 13 张良银. 浅论 C/S 和 B/S 体系结构J. 工程地质计算机应用, 2006, 4: 20-

44、28. 14. 14 韦凤伶. 个人健康管理系统的设计与实现D. 西南交通大学, 2011. 15. 15 /news/34345/afinal-move-to-github. 16. 16 /view/a32d6a2b5901020207409cf2.html. 17. 17 赵朋飞. 智能手机操作系统 GoogleAndroid 分析J. 科技视界, 2011 (23): 69-70. 18. 18 张秀香. 基于Android的健康管理系统客户端的设计与实现D. 大连理工大学, 2012. 19. 19

45、邢永磊. 消息流驱动的移动应急系统开发框架研究与实现. 硕士学位论文.中国海洋大学.2012. 20. 20 胡伟. Android系统架构及其驱动研究J.广州广播电视大学学报2010年第4期(总第41期). 21. 21 张丹蕊. 基于 Android 的智能医疗管理软件设计及其客户端的实现D. 吉林大学, 2012. 22. 22 /inspironx/article/details/6954449. 23. 23 卢淑萍. 基于 B/S 结构的新生报到服务系统的设计与实现D. 华南理工大学, 2012. 24. 24 http:/wenku.baid

46、/view/1db8d01dfad6195f312ba655.html. 25. 25 /wiki/JSON. 26. 26 高静, 段会川. 基于移动设备的 JSON 数据传输效率研究J. 信息技术与信息化, 2011 (1): 13-16. 27. 27 JSON主页./. 28. 28, 黄强, 毛磊雅, 等. 一个基于 JSON 的对象序列化算法J. 计算机工程与应用, 2007, 43(15): 98-100. 29. 29 谢莉, 虞骢, 姚志洪. 基于 XML 技术的个人健康J. 计算机应用

47、与软件, 2010, 27(3): 152-155. 30. 30 娄渊胜,黄龙达,许洪涛.Java反射机制在基于O/R映射的数据持久层框架中的应用研究J.计算机应用与软件 ,2008(10):3537. 1面向家用纺织品行业的协同电子商务平台研究及开发0.5%刘婕(导师:孙莉;陈家训) - 东华大学硕士论文- 2005-03-01是否引证:是2在网络环境架构下的远程教育毕业设计(论文)环节教学与管理0.5%杨劲松;鲁鸿雁;朱伟文; - 中国成人教育- 2008-12-30是否引证:否3软件体系结构研究0.5%汪强; - 电脑知识与技术- 2008-12-15是否引证:否4关于电子商务软件体系

48、结构的探讨0.5%崔萌; - 科技信息(科学教研)- 2008-08-20是否引证:否5Java web流行框架的了解与应用0.5%徐龙; - 科技资讯- 2009-02-23是否引证:否6远程教育教学管理及支撑系统的实现和设计0.5%赵刚(导师:赵东范) - 吉林大学硕士论文- 2004-09-01是否引证:否7基于J2EE的网络考试系统研究与实现0.5%张秋娜(导师:陈海山) - 厦门大学硕士论文- 2009-05-01是否引证:否8J2EE体系结构设计(上)-Java认证考试-考试吧0.5%- 网络()- 2012-05-19 是否引证:否9J2EE

49、的MVC体系设计模式-MVC-J2EE-Java培训网0.5%- 网络(http:/www.javapeixu)- 2011-03-13 是否引证:否10基于PHP的通用数据库接术的研究0.5%张亚氢(导师:) - 重庆大学硕士论文- 2004-11-10是否引证:否11基于struts架构的精准农业光谱数据库系统设计0.5%李兴;张兵;张霞;张文娟; - 成像光谱技术与应用研讨会论- 2004-12-01是否引证:否12OA系统中工作流技术的研究与应用0.5%黄晟(导师:李为) - 华北电力大学(北京)硕士论文- 2008-02-01是否引证:否13基于纲要信号法的网络教学辅助工具的开发0.

50、5%倪小钢(导师:孙沛) - 内蒙古师范大学硕士论文- 2006-06-15是否引证:否14基于缺陷追踪管理系统的工作流技术研究0.5%彭志昆(导师:武波;刘峰) - 西安电子科技大学硕士论文- 2007-02-01是否引证:否15基于J2EE的中小企业PDM系统开发0.5%陈伟(导师:刘苏) - 南京航空航天大学硕士论文- 2011-01-01是否引证:否16基于J2EE和GIS的警务通信息系统的综合实现0.5%肖楠(导师:戴居丰;骆宏) - 天津大学硕士论文- 2010-06-01是否引证:否17基于物联网的烟草流通流程优化研究0.5%郭荣光(导师:龙冬阳) - 中山大学硕士论文- 201

51、1-05-01是否引证:否18设计模式在服OM中的应用0.5%潘铁军;郑蕾娜; - 浙江学院学报- 2007-09-15是否引证:否原文内容MVC体系结构具有三个层面:模型(Model)、视图(View)和控制(Controller),每个层面有其各自的功能作用34。Model:模型层,是整个MVC模式的核心部分,它不仅可以实现对业务的表达和存储,还可以实现业务逻辑和对业务的操作。当模型层发生变化的时候,模型层不仅会用户视图层,而且还可以实现View层对自身状态的访问。此外,流程控制层可以通过访问模型层的功能函数来完成相应的任务35。 View:用户视图层,在应用程序中负责从模型层中取出数据并

52、对其进行显示。用户视图层承担连接用户和应用程序之间的接口角色。 Controller:流程控制层,负责定义应用程序的行为。流程控制层接收来自界面的请求,并把请求交给模型层去处理,它是前面两者的接口,仅仅起到了连接的作用,并不对请求做任何处理。 Android开发中支持弱耦合和组件的重用,Android界面部分比较完全的实现了MVC模式:Activity可以认为是MVC中的Controller,用于产生控制逻辑,因为Android中的Activity的响应时间是5s,如果将耗时长的操作放在Activity里面,程序就很容易被回收,所以要通过Activity交割Model业务逻辑层处理。View则

53、是MVC中的View,用于展示软件界面, view可以用xml来简单地表示和生成,美工可以不用理会复杂的java代码,采用一些界面设计器来设计界面,xml布局负责将界面布局做好,并且尽量做到合理分割与减少层次36。Model层可以认为是values目录下的xml,也可以是java逻辑代码,因为xml可以用 - 7 -2. 21110233004-姚佳佳-信息科学与工程学院电子与通信工程_第2部分总字数:11324 文字复制比:0.6%(68)(0) 31. 31 /phil2036/article/details/8396016. 32. 33 www.k

54、. 来存放数据比如样式、数组等),和JavaBean有着类似的功能,在Model层里面对实现对数据库的操作、对网络的操作及对业务计算的操作等。通过MVC模式,Android实现了逻辑与界面的良好分离,软件开发起来简单高效。 2.8 WebSocket通信协议 WebSocket通信协议(WebSocket protocol) 是HTML5一种新的协议,是一个新的网络技术37。它实现了在浏览器与服务器之间的全双工通信方式。 传统的HTTP协议只能实现问答式的交互方式,客户端与服务器端通过三次握手进行信息交互。客户端通过向HTTP服务器发送HTTP请求,服务器接收到其发送过来的

55、请求后,对请求进行解析然后交给程序进行处理。处理之后立即将处理结果返回,再由服务器将至解析为HTTP响应返回给服务器。对于传统软件操作,这样并无不可。然而对于作为对信息实时性、时效性要求比较高的Android移动信息终端以及时下带宽资源不够完善,网络资费较高的情况,使用传统问答交互方式则会顾此失彼 ,不能既在保证信息时效性的情况下,又降低网络访问次数及访问量。 如果信息要从服务器向客户端推送,基于HTTP协议实现类似于反向AJAX的技术,现近流行的主要有两种方式: 基于AJAX的轮询技术:客户端实现AJAX技术,定时到目标网站去抓取最新数据,时间间隔比较低的情况下能够保证一定程度上的信息时效性。这种方式是最简单、最的一种方式。这种方式带来的问题是当客户端达到一定数量级时,所有客户端单位时间的发起请求连接的数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论