软件工程论文

上传人:1666****666 文档编号:39977364 上传时间:2021-11-13 格式:DOC 页数:52 大小:959KB
返回 下载 相关 举报
软件工程论文_第1页
第1页 / 共52页
软件工程论文_第2页
第2页 / 共52页
软件工程论文_第3页
第3页 / 共52页
点击查看更多>>
资源描述
声明南 开 大 学本 科 生 毕 业 论 文(设 计)中文题目:基于Android平台的无线医疗设备手机端软件外文题目:Mobile phone software for wireless medical devices based on Android学 号:0812605 姓 名:xxxx 年 级:2008 级 专 业:软件工程 学 院:软件学院 指导教师:xxxx 完成日期: 43 关于南开大学本科生毕业论文(设计)的声明本人郑重声明:所呈交的学位论文,是本人在指导教师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人创作的、以公开发表或没有公开发表的作品内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。 学位论文作者签名: 年 月 日 本人声明:该学位论文是本人指导学生完成的研究成果,已经审阅过论文的全部内容,并能够保证题目、关键词、摘要部分中英文内容的一致性和准确性。 学位论文指导教师签名: 年 月 日摘要摘 要近年来,随着网络技术的不断发展以及体域传感器技术的革新,基于他们的交叉领域的医学技术不断发展。基于体域无线传感器的健康监测系统是计算机网络、多媒体技术以及医学诊断技术相结合而形成的一门新兴课题。首先,本文从应用的角度阐述了本系统的基本架构,从底层到高层依次为:使用者、前端体域传感器信号采集装置、无线局域网(Android终端)、医疗护理远程控制中心。在系统中心处理部分,介绍另外数据采集、数据存储服务器模块以及大文件断点续传的内容。在系统管理软件部分,介绍了Java Web应用、B/S架构和MVC模型、Tomcat服务器的应用。对该系统进行了调试,运行结果基本达到了要求。关键词:远程医疗;Tomcat;Mysql;服务器设计目录Abstract In these years, with the continuous development of network technology and sensor technology innovation, medical technology based on their cross areas develop rapidly. Based on the body area wireless sensor health monitoring system is a new topic involved the computer network, multimedia technology and medical diagnosis technology. First of all, this paper expounds the basic framework of system, from the bottom to the top are: users, front body area sensor signal acquisition device, WLAN (Android terminal ), medical care to the remote control center. System center processing part, introduce additional data acquisition, data storage server module and a large file http content. System management software, introduced the Java Web application, B / S architecture and MVC model, the Tomcat server application.On the system debugging, the basic operation meet the requirement. Key words: Medical care ; Tomcat ; Mysql; Server design目 录第1章绪论11.1背景11.2远程医疗系统的现状11.3课题提出31.4已有的工作基础和本文开展的工作3第2章系统需求分析22.1功能需求分析22.2 手机端程序性能需求与开发环境42.3 手机端系统功能简介4第3章Android架构分析和环境搭建63.1 Android功能特征及与其他平台的对比63.2Android项目介绍73.2.1 Android简介73.2.2 Android Features特性73.2.3 Android 基本框架83.2.4 Android 系统的四大组件103.3Android应用的构成和工作机制113.4Android开发环境的搭建12第4章系统手机端设计174.1程序欢迎界面174.2登录界面194.3接收设备端数据244.4 绘制心率图274.5 上传管理31第5章程序整合和调试345.1模块组成345.2模块整合345.3调试出现的错误及分析36第6章总结与展望406.1 全文总结406.2 进一步工作展望40参考文献42致 谢43绪论第1章 绪论1.1 背景随着社会经济的发展和人民群众生活水平改善的同时,人口老龄化的加速,越来越多的老人需要照顾;另一方面,现代社会竞争压力使得越来越多的人患有心血管疾病等多种疾病。人们对医疗服务,特别是能深入家庭和社区的医疗保健的需求逐渐增加。医疗保健仪器进入社区和家庭最大的问题是,普通人无法及时的检测以及解读自身的生理参数,但对于某些疾病,例如心脏病发作的时候,相应的心脏波形才最能说明问题,但在这些时候往往很难及时记录病人的生理信息。传统医疗的服务由于受到时空的限制,仅能为身处医院的人群提供服务,所以必须发展一种新型的医疗服务网络系统,而现代通讯技术的发展和计算机技术的发展,为解决这一问题提供了技术基础。我们可以通过便携的体域传感器检测使用者的各项健康数据,并自动地传送使用者的手机终端,继而通过网络将使用者的生理数据发送到设在医院的远程医疗中心,从而实现医院和社区、家庭的医疗沟通。在我国地广人多但医疗资源相对集中的国情条件下,使用远程医疗具有相当高的实用价值及应用前景。1.2 远程医疗系统的现状远程医疗信息系统是现代网络通信技术、计算机多媒体和传统医学相结合的产物,它在医疗诊断、远程护理和医疗救治过程中发挥出越来越重要的作用。远程医疗是随着宇航技术、航海技术的发展而产生的一种新的医疗服务模式。60年代初期,美国国家宇航局为调查失重状态下宇航员的健康及生理指标,在亚利桑那州建立了远程医学实验台,其通信手段为卫星和微波技术,从此开始了消除空间障碍进行远距离医疗活动的相关研究。80年代后期,计算机通讯技术、网络技术、数据压缩技术以及多媒体技术的迅猛发展,为远程医疗奠定了基础。90年代以来,美国等发达国家投入巨资进行远程医疗和远程医疗信息技术的研究开发。接受远程医疗服务的患者逐年增加,1996年欧美国家已达21000人次。随着各项技术的日臻完善,远程会诊与临床实体诊断的一致性逐步提高,远程医学涉及的领域正在向广域化和专业化发展。目前美国各大医院已有各种类型的远程医疗系统,俄克拉荷马州的远程医疗网已将该州的多家医院连接起来,缺少放射专家的乡村小医院目前采用将数字化的X光片传至上级医院进行诊断的做法,大约1小时内即可得到诊断结论。专科远程医疗普及迅速,各医院相关专业之间相连,可随时进行病例讨论、阅片、确定诊断报告、解答疑难问题等。目前拓宽的领域已有心脏、口腔、皮肤、救护、病理、精神病、放射、手术、监护、超声等专科诊断系统,其中应用最广泛的是放射学和病理学。近几年,远程医疗研究正在成为全球科技研究的热点。远程医疗是具有重大的社会效益、经济效益的系统工程,已经得到了全世界各个国家卫生行业的重视,作为一种新型的医疗服务模式,也得到了政府、医疗机构和患者的认可。从临床应用情况来看,目前,比较成熟也比较常用的远程医疗学科有远程影像诊断学、远程病理学、远程心脏病学、远程皮肤学、远程骨科学和远程精神病学等。我国的远程医疗起步虽晚但发展迅速。国家卫生部使用亚洲卫星二号建立了卫星通信专业网,根据一网多用的原则,金卫医疗网络工程有限公司利用卫星频道,已开通了北京、哈尔滨、广州、上海等15个中心城市的20家重点医院;中国医学基金会组建了中国远程医疗会诊骨干网,连通了25个省、自治区、直辖市近40家部属、省属重点医学院校附属医院和省属重点医院;基层网连通了近100家地市县级医院,骨干网上集中了近2000名国内著名专家,面向全国医院和病人提供医疗、保健咨询和学术服务。据悉,这一网络将在十年内完成从电话干线到专线、光缆及卫星干线的发展。总后推行的“军字二号”工程正在全军医疗卫生单位实施推广,军队远程医疗网已突破大军区间的界限实现互联,未来几年内,医疗卫生网有望与军队光纤通讯网并轨运行,届时通讯速率将会大大提高,远程会诊质量也会明显改善。自1996年起,解放军总医院、南京军区总医院等单位先后建立远程会诊中心,目前已分别与几十家医院连通,并成功地实施了几千例会诊。北京军区于1997年底全面启动“军字二号”工程,区内20余家医疗单位连通,组建了两个远程会诊中心,各站点通过软件调试、人员培训、交互式运行,目前已形成多途径会诊、多学科专家体系、多功能服务手段的良好态势。远程医学有许多优越性,它在方便病人,减少费用,提高医疗质量,提高工作效率,加强信息交流,加强卫生统计,乃至促进卫生体制改革等方面都有积极的意义。作为远程医疗的信息系统在整个远程医疗过程中起着平台支撑、医学信息管理、远程控制、数据采集等至关重要的作用。1.3 课题提出基于无线传感器网络的医疗监护系统有着很大的优越性,现在医院中大多数采用固定的医疗仪器,通过数据线把患者和仪器连接起来,并把需要的信息输入到电脑中,最后作出分析与诊断,但是医疗设备对于一般使用者出于检测自身健康状况的角度而言有以下三个缺点:1、 便携性较差,传统医疗在一定程度上解决了患者的就医问题,但是专业性的医疗设备在很大程度上限制了使用者的自由,不能满足人们随时随地检测自身生理参数的要求,而基于无线体域传感器网络的医疗监控系统则可以让患者在自由活动的同时进行身体检测。2、 传统的医疗系统中,在医院获得检测结果的时间非常慢,而基于无线传感器网络的医疗监控系统可以即时的把患者的生理参数做出分析后进而以最快的速度反馈到患者那里,可以使患者在第一时间了解自己的生理参数。这样更有利于医生和患者共同来探讨病情等问题。3、 成本较高,远程医疗设备目前应用范围比较小,很大一部分原因是由于专业设备成本比较高,高昂的价格使得消费者望而却步。借助低成本的体域传感器以及普及度较高的Android移动平台,可以在很大程度上降低使用者的成本支出。针对上述情况,本项目需要设计一个便携性强,成本低廉的远程医疗系统,具备基本的医疗生理数据检测功能。便携的体域传感器以及Android平台是移动终端的优秀代表,批量生产体域传感器价格低廉,Android移动平台的普及度较高,安装在手机上的客户端也省去了制造专用设备的成本。1.4 已有的工作基础和本文开展的工作在进行一个远程医疗系统开发之前,首先要根据具体使用要求选择合适的体域传感器。我们所使用的传感器为导师所提供,为了更加贴近现实生活而不是在实验室中闭门造车,我们通过网络以及实地调查等方式对传感器产品进行了解。本文的主要工作是详细介绍系统手机端软件的开发和整合过程,从需求分析,Android技术,软件的编写等方面阐述了其的实现过程。系统需求分析第2章 系统需求分析2.1 功能需求分析我们将整个系统的功能分为了四个部分,由数据的传输路径开始,分为医疗设备上的数据采集,而后其将数据发送至手机端,接收完一端时间内完整的数据包后,手机端将根据数据在屏幕上绘出检查者的心率图,最后,手机发送数据至电脑端的数据库中存储以方便医生的调用。实现过程如下图所示:数据传输系统数据接收与后台数据处理系统移动终端系统数据采集系统如上图所示,基于体域传感器的医疗检测系统主要分为四个部分,数据采集系统、移动终端系统、数据传输系统以及数据接收与后台处理系统。整套系统的各个部分通力合作,实时准确的检测使用者的各项生理数据。整个过程中我负责的部分为手机Android端的搭建和设计。经分析,我们在手机端所要实现的功能有一下一个部分:用例名称:用户登录目标:提供登录界面让用户登录前置条件:手机客户端初试启动后出现基本事件流:1.用户初始化启动程序 2.用户输入账号密码登录用例名称:文件接收目标:用于控制医疗设备发出的数据前置条件:设备处于测量用户且发送数据的状态基本事件流:1.用户点击接收数据开始的按钮 2.手机端接收数据,并将其保存至本地的txt或其他格式的文档中用例名称:手机端绘图目标:将接收到的数据绘制成检查者的心率图前置条件:一定量的数据已经接收完毕基本事件流:1.接收完毕设备传输的数据后用户点击绘图按钮 2.手机端绘制出心率图用例名称:文件传输至电脑端目标:将位于手机本地的txt文件发送至电脑端保存前置条件:心率图的绘制已经完成,文件待发送基本事件流:1.在已完成的心率图下方用户点击发送按钮跳至发送界面 2.将数据发送至电脑端2.2手机端程序性能需求与开发环境根据Android手机系统要求无响应时间为5秒,且需让用户得到更好的使用体验,要求程序响应必须快速,且基本无BUG出现,有如下性能要求:1. 用户登录用时不超过1秒2. 程序开始接受数据及数据接受完毕时,客户端的反应时间不能超过5秒3. 客户端接受数据的时间一般为定值,从一分钟到数小时不等4. 客户端利用接受数据绘制图像时,所需时间不能超过5秒5. 客户端各级菜单间的跳转不能超过0.5秒6. 客户端上传数据至电脑时所需时间不能超过2秒Android手机端的开发和测试环境如下手机操作系统:基于Linux内核的Android操作系统程序支持环境:Android 1.6 - 2.2版本程序开发环境:windows环境下Eclipse 1.4.2, ADT 0.95, JAVA JDK7u1,Android SDK2.3手机端系统功能简介Android手机端系统在整个医疗无线传输系统中处于中间的位置,承担着接收数据和发送至电脑端的工作,是一个比较重要的部分,也可以说是初期所追求的核心部分,在项目中的开发难度较大,我们需要在首先学习Android开发环境的基础下,慢慢讲每个功能模块添加入手机端系统中。这里我们将它主要的工作分为了一下几个部分:1. 用户登录功能:实现了用户的登录功能,不同用户将会在自己的名字目录下生接收,生成以及把该文件发送至电脑端存入数据库的相应位置中。2. 蓝牙接收功能:外部的医疗设备通过蓝牙装置向外发送测量的信息数据,手机同时开启蓝牙开始搜寻,当匹配成功时就开始发送数据流,并以txt文档的形式存入手机中。3. 绘图功能:手机系统通过打开分析txt文档中的内容将其绘制成我们日常生活中见到的心率图。4. 传输功能:这里我们将尝试将txt文档传至电脑端后,利用电脑再次绘图和直接将手机绘出的图片传至电脑两种方式,比较两种传输方式的优劣后作出选择。Android架构分析和环境搭建第3章 Android架构分析和环境搭建3.1 Android功能特征及与其他平台的对比几乎已经退市Symbian系统我们可以首先忽略,其在最近几年很快的被市场所淘汰本身就很能说明问题。虽然Symbian比较成熟,但它还带有浓厚的保守色彩,其应用软件的开发和使用理念与我们日常的PC软件有较大的差异。再者Symbian与互联网的结合不够紧密。Android平台与此相反,移动互联网是它最重要的应用,无论系统内核、应用软件还是硬件设计,几乎都是围绕着快捷的移动互联网应用所展开,同时, Android系统底层是基于Lunix系统,可以很好的实现与PC设备的信息互享,更容易获得用户的认可。再看微软的Windows Phone系统,这个全新的平台已经成为手机市场上一股越来越强大的力量。其将于今年底发布的Windows Phone 8系统会采用和桌面Windows 8相同的内核,桌面应用可以方便的移植到手机上,这无疑是将成为该系统的最大优势。而根据微软开发部门的信息,兼容性一样可以得到保证。和Android系统相比,Windows Phone操作系统是个半开放式的系统,这一点正和Windows和Linux桌面系统的情况相似,在可以预见的将来,Windows Phone,Android,iPhone这三大平台之间的市场争夺会愈发的激烈。然而就目前来说,Windows Phone的开发成熟程度显然不及Android系统,且距离Windows Phone8发布还有相当一段时间。至于iPhone,它是苹果公司的封闭平台,用户在iPhone中安装应用相当繁琐,必须在注册自己的账号后,通过iTunes将软件同步至手机。苹果自己为iPhone开发了嵌入系统以及完整的应用。与苹果相反,Android则是走完全开放的道路,这种模式的巨大优点在PC软件领域已为业界所公认:自由软件高度活跃,错误可以被快速修正,新的应用、新的创意可以不断出现。Android平台的另外一个优势是标准化和跨平台。Android和操作系统进行了紧密的整合,从而可以方便地使用操作系统的功能,这对开发者有很大的吸引力。并且从图形应用界面的开发上面来看,Android可以使用XML配置文件来描述图形控件的布局,用Java代码编写实际响应代码,大大方便了程序员们的前期准备工作。同时Android己经提供了大量现成的应用API和应用工具,使得常规智能手机功能的开发变得非常容易和简单。在以上比较的基础上,我们首先尝试了使用iPhone进行开发工作。但是由于开发环境的搭建需要iMac的支持,普通PC不能进行很好的兼容,且开发苹果应用需在其网站注册后缴纳每年一定的使用费用,综合来看,这些因素会大大影响我们完成整个项目的进度。另一面,鉴于Android灵活的开发环境,开源的巨大优势以及组员对JAVA语言的熟悉程度,我们最后选择了在Android平台完成手机客户端的开发。3.2 Android项目介绍3.2.1 Android简介 Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android是基于Linux内核的软件平台和操作系统,早期由Google开发(在华注册商标名为“安致”),后由开放手机联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为Google电话或gPhone。大多传闻认为Google开发的是自己的手机电话产品,而不是一套软件平台。到了2010年1月,Google开始发表自家品牌手机电话的Nexus One。3.2.2 Android Features特性 Android系统有如下的几大特性:1. 应用程序框架 支持组件的重用与替换2. Dalvik虚拟机 专门为移动设备做了优化3. 内部集成浏览器 该浏览器基于开源的WebKit引擎4. 优化的图形库 包括2D和3D图形库,3D图形库基于OpenGL ES 5. SQLite 用作结构化的数据存储6. 多媒体支持 包括常见的音频、视频和静态印象文件格式(如MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)7. GSM电话(依赖于硬件)8. 蓝牙Bluetooth, EDGE, 3G, and WiFi (依赖于硬件)9. 照相机,GPS,指南针,和加速度计 (依赖于硬件)10. 丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件3.2.3 Android 基本框架1. ApplicationsApplication Android会同一个核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是用JAVA编写的。2. Application Framework开发者完全可以访问核心应用程序所使用的API框架。该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得组建可以被用户替换。所有的应用程序都由一系列的服务和系统组成,包括:1. 可扩展的视图(Views )可以用来建应用程序,包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至包括一个可嵌入的web浏览器。2. 内容管理器(Content Providers )使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。3. 资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和分层文件(layout files )。4. 通知管理器(Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。5. 活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。3. Libraries库Android 包括一个被 Android 系统中各种不同组件所使用的 C/C+ 库集。该库通过 Android 应用程序框架为开发者提供服务。以下是一些主要的核心库:系统 C 库- 一个从 BSD 继承来的标准 C 系统函数库( libc ),专门为基于 embedded linux 的设备定制。 媒体库- 基于 PacketVideo OpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。 Surface Manager - 对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。 LibWebCore - 一个最新的web浏览器引擎用来支持Android浏览器和一个可嵌入的web视图。 SGL - 一个内置的2D图形引擎 3D libraries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。 FreeType - 位图(bitmap)和向量(vector)字体显示。 SQLite 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。4. Android RuntimeAndroid 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对于同时高效地运行多个VMs来实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。3.2.4 Android 系统的四大组件在Android系统中,为我们提供了四大基本组件,每个组件是一个视图,但是有些是可见的,有些是不可见的视图,像Activity,ContentProvider是可见的视图,Service和BroadcastReceiver是不可见的,它们只在系统的后台运行。下面分别介绍四大组件:1) Activity简介在Android系统中Activity提供可视化的用户界面,一个Android应用通常由多个Activity组成。多个Activity组成了Activity栈(Stack),当前活动的Activity处于栈顶。Activity有自己的生命周期,由Android系统来控制。2) Service简介顾名思义Service就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面定义一个Service类比较简单,只要继承Service类,实现其生命周期中的方法就可以了。一个定义好的Service必须在AndroidManifest.xml配置文件注册,通过<service>元素声明才能使用.Service有自己的生命周期,我们可以调用startService()启动一个Service或者bindService()方法来绑定一个存在的Service 3) Broadcast Receiver简介Broadcast Receiver 顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的。到目前为止我们可以使用Intent来启动一个程序组件,我们还可以通过使用sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。我们可以在你的应用程序中实现Broadcast Receiver来监听和响应这些广播的Intent4) ContentProvider简介Content Provider 用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。它是跨应用程序共享数据的唯一方法。Android 为常用的数据类型(如:音视频、图片和联系方式等)提供了大量的Content Provider。它们被定义在android.provider包下面。通过这样定义好的ContentProvider 我们可以方便的进行数据操作。当然我们必须拥有适当的权限。我们也可以自己来定ContentProvider共享我们的数据,方便用户的访问。3.3 Android应用的构成和工作机制对于一个Android应用程序来说,是由Activity、IntentReceiver、Service、Content Provider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。在应用程序中使用时,需要在配置文件AndroidManifest.xml中进行配置。这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。Android应用的构成和工作流程如下图: 3.4 Android开发环境的搭建1. JDK安装首先打开我的电脑->属性->高级->环境变量->系统变量,在其中添加以下环境变量:JAVA_HOME值为: C:Program FilesJavajdk1.7.0_01CLASSPATH值为:.;%JAVA_HOME%libtools.jar;%JAVA_HOME%libdt.jar;%JAVA_HOME%bin; Path: 在开始追加 %JAVA_HOME%bin; 显然,前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过。安装完成之后,我们来检查JDK是否安装成功。打开cmd窗口,输入java version 查看JDK的版本信息。显示出下面的画面,表示安装已经成功2. Eclipse的安装在http:/www.eclipse.org/downloads/网站上找到需要的Eclipse,下载Windows 32bit版本,解压之后即可使用。3. Android SDK安装在Android Developers下载android-sdk_r18-windows.zip,下载完成后解压到D:android-sdk-windows。运行SDK Setup.exe,点击Available Packages。由于下载的最新版本,没有出现可安装的包,点击Settings,选中Misc中的"Force https:/."这项,再点击Available Packages 。 选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包。在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为D:android-sdk-windowstools)。 此后重启计算机。 重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。 运行 android h 显示出以下的输出,表明安装成功:4. ADT安装ADT是用户在Eclipse环境下开发Android程序的插件,安装方法如下:打开 Eclipse,进入菜单中的 "Help" -> "Install New Software" 点击Add.按钮,弹出对话框要求输入Name和Location:Name这里我们选取ADT,Location输入http:/dl- 确定返回后,在work with后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有Developer Tools,展开它会有Android DDMS和Android Development Tool,勾选他们。 如下图所示: 然后就是按提示一步一步next。 完成之后,选择Window > Preferences. 在左边的面板选择Android,然后在右侧点击Browse.并选中SDK路径,本机为: D: android-sdk-windows,点击Apply,配置完成。 5. 创建AVD为了使Android应用程序可以在模拟器上运行,必须创建AVD,即Android在Windows换将下的虚拟机。在Eclipse中。选择Windows > Android SDK and AVD Manager,点击左侧面板的Virtual Devices,再右侧点击New创建新的虚拟机 。填入Name,这里由于我们使用的是Android2.2版本,因此取名为2.2 。接着选择Target的API,我们发现target下拉列表没有可选项,原因是在Android SDK安装中没有缺少一些必要的可用包,因此我们点击左侧面板的Available Packages,在右侧勾选https:/dl- Selected按钮,接下来就是按提示做就,选择然后SD Card大小选择为256MB,虚拟机的屏幕大小设置为HVGA,480*320,Hardware目前保持默认值,点击Create AVD完成虚拟机的创建。 6. 相关选项的说明以及创建一个简单的程序Project Name: 包含这个项目的文件夹的名称。 Package Name: 包名,遵循JAVA规范,用包名来区分不同的类是很重要的,我用的是song.test。 Activity Name: 项目的主类名,这个类将会是Android的Activity类的子类。一个Activity类是一个简单的启动程序和控制程序的类。它可以根据需要创建界面,但不是必须的。 Application Name: 显然我们的应用程序上需要一个易读的标题。 在"选择栏"的 "Use default location" 选项,可以选择一个已存在的项目。 点击Finish后,点击Eclipse的Run菜单选择Run Configurations 选择“Android Application”,点击在左上角(按钮像一张纸上有个“+”号)或者双击“Android Application”, 有个新的选项“New_configuration”,可以改为我们喜欢的名字。 在右侧Android面板中点击Browse,选择HelloWorld 在Target面板的Automatic中勾选相应的AVD: 然后点Run按钮即可,运行成功的话会有Android的模拟器界面,如下图所示: 系统手机端设计第4章 系统手机端设计如上文所述,手机端系统将在整个项目中占据重要的位置,这里我们将从系统接口和界面的设计开始,分析整个软件的实现过程。首先我们有必要来了解整个Android软件的核心部分Activity。我们看到的每一个界面通常来说都是一个Activity, 对于Android中的大多数Activity,往往需要调用onCreate()这个方法来让编辑的内容和按钮等控件在手机屏幕上生成,下面是代码部分: public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.main); 此处的setContentView()用于让本Activity按照我们编辑的XML文件布局显示相应的内容。这里又提到了XML文件。在一个Android程序中,我们可以使用XML文件来方便的布置其控件因为大部分的程序员或多或少都了解过这种开发形式。下面来详细介绍系统每一个方法的实现过程。4.1 程序欢迎界面我们都使用过各种各样的手机软件,当然也会留意到通常用户开始使用软件时,一个欢迎界面会首先跳出,数秒后,系统的主界面才会出现。这里我们也设计一个欢迎界面。其中用于Activity间跳转的方法为Android库中提供的Intent方法。首先对其做一个简短的介绍。 Android各组件之间的通讯工作主要是由Intent协助完成的。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。实现欢迎画面的原理是在主程序的Activity(我们命名为Main.java)出现之前再加入一个Activity,这个Activity显示的就是欢迎画面,停留数秒后,其自动跳到Main这个Activity中。此外,需要启动一个线程来完成这个操作。在使用Android线程之前必须先了解一下Android的进程。当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。默认的情况下,所有该程序的组件都将在该进程和线程中运行。同时,Android会为每个应用程序分配一个单独的LINUX用户。Android会尽量保留一个正在运行进程,只在内存资源出现不足时,Android会尝试停止一些进程从而释放足够的资源给其他新的进程使用, 也能保证用户正在访问的当前进程有足够的资源去及时地响应用户的事件。Android会根据进程中运行的组件类别以及组件的状态来判断该进程的重要性,Android会首先停止那些不重要的进程。这里以如下的方式来启动这个线程,并设置其停留时间为2000毫秒public void Start() new Thread() public void run() try Thread.sleep(2000); catch (InterruptedException e) e.printStackTrace(); Intent intent = new Intent(); intent.setClass(Welcome.this, NKMain.class); startActivity(intent); finish(); .start();获得的显示效果如下图4.2 登录界面由于本系统将会把从蓝牙收集到的数据最终发送到电脑端,我们需要一个登录系统来实现对每一个检查者的识别,以便传输数据以及电脑存入数据库。除了基本的Android控件的应用之外,这里我们还需要使用一个Android自带的小型数据库SQLite来储存用户的信息,先对其进行一个简短的介绍。SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,它占用资源非常的低,可能只需要几百K的内存就够了。它能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。在实现数据库功能之前先将整个界面布局完成,采取最为简便的LinearLayout布局将所有的控件都垂直的放置于页面上。XML代码如下,设置了两个按钮,两个可编辑文字框,一个用于显示提示信息的文字框,XML代码如下所示:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="#EEEEEE"><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="用户名" /><EditText android:id="+id/username" android:layout_width="fill_parent" android:layout_height="wrap_content" /><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="密码" /><EditText android:id="+id/password" android:layout_width="fill_parent" android:layout_height="wrap_content" /><Button android:id="+id/btn1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="注册" /><Button android:id="+id/btn2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="登录" /><TextView android:id="+id/tip" android:layout_width="fill_parent" android:layout_height="wrap_content" /></LinearLayout>我们得到的显示效果如下图所示:接下来进行数据库的加入,在程序加载开始时,首先需建立一个新的数据库用于存储用户的信息,方法如下:private void creatDataBase() msql = this.openOrCreateDatabase("myproject", this.MODE_PRIVATE, null);/ String sqlcreate =/ "CREATE TABLE users(id INTEGER PRIMARY KEY,password TEXT,name TEXT)"/ msql.execSQL(sqlcreate);Log.i("linquan", "create table success!");这里简历账户的思路是在键入用户名和密码之后,点击注册,将用户名与库内的资料进行对比,若没有重复则建立新的用户,把信息存在库内。然后我们便可用该用户名登陆。代码实现如下:btn_reg.setOnClickListener(new Button.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub/ password.setText(name.getText();String username = name.getText().toString();String userpassword = password.getText().toString();cursor = msql.rawQuery("select name from users", null);int flag = 0;if (cursor != null) if (cursor.moveToFirst() do String un = cursor.getString(0);if (pareTo(username) = 0) tip.setText("该用户名已存在!");flag = 1;break; while (cursor.moveToNext();if (flag = 0) Random rand = new Random();int id = rand.nextInt();String insertcmd = "INSERT INTO users(id,name,password) values(" + id+ ",'"+ username+ "','"+ userpassword+ "')"msql.execSQL(insertcmd);Log.i("linquan", "register success!");tip.setText("注册成功!"););btn_log.setOnClickListener(new Button.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub/ password.setText("0123456789");cursor = msql.rawQuery("select * from users", null);if (cursor != null) if (cursor.moveToFirst() do int nameindex = cursor.getColumnIndex("name");String username = cursor.getString(nameindex);if (pareTo(name.getText().toString() = 0) int passwordindex = cursor.getColumnIndex("password");String userpassword = cursor.getString(passwordindex);if (pareTo(password.getText().toString()
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸下载 > CAD图纸下载


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!