版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学号:0121110340335课程设计课程名称嵌入式系统开发实训1题目基于安卓的体重指数计算器程序设计学院计算机科学与技术专业计算机科学与技术班级计科1103班姓名闫敏指导教师夏又新2014年12月28日课程设计任务书学生姓名: 闫敏 专业班级: 计算机1103指导教师: 夏又新 工作单位: 计算机学院题目:基于Android的体重指数计算器程序的设计与实现初始条件:理论:综合运用嵌入式系统设计、计算机组成原理、java语言,程序设计方法等课程的专业知识。实践:学习和使用嵌入式实验箱飞凌ok210的使用方法、基于Android的交叉编译软件环境。在飞凌ok210实验箱上完成课程设计题目要求的功能。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)课程设计内容:利用嵌入式实验箱飞凌ok210搭建嵌入式系统开发环境,在Android环境下编写应用程序,完成以下功能,并撰写嵌入式系统设计报告:友好的人机界面;可以输入相关参数;计算后给出体重指数值和建议。课程设计报告书正文的内容应包括:系统描述(问题域描述);系统总体分析;系统总体设计;详细的流程图或伪代码;软件的测试方法和测试结果;研制报告(研制过程,本设计的评价、特点、不足、收获与体会等);时间安排:序号设计内容所用时间1查阅资料,熟悉实验平台和搭建嵌入式系统开发环境,完成android内核移植和烧写系统0.5周2Android系统开发的基本技术1周3应用软件系统的开发与实现2周4撰写文档和设计验收0.5周合计4周指导教师签名:夏又新 2014年12月6日系主任(或责任教师)签名: 年月日目录TOC\o"1-5"\h\z\o"CurrentDocument"系统描述 2\o"CurrentDocument"1.1背景 2\o"CurrentDocument"1.2功能描述 3\o"CurrentDocument"1.3开发环境介绍 3\o"CurrentDocument"Android体系结构简介 3\o"CurrentDocument"1.3.2Android架构 3\o"CurrentDocument"1.3.3应用框架 4\o"CurrentDocument"库 4\o"CurrentDocument"应用 51.4开发环境的安装 5\o"CurrentDocument"下载Eclipse 5安装Eclipse 6\o"CurrentDocument"1.4.3安装ADT扩充套件 6\o"CurrentDocument"1.4.4下载并设定AndroidSDK 61.4.5创建名为BMI的工程 7\o"CurrentDocument"需求分析 7\o"CurrentDocument"2.1功能需求 7\o"CurrentDocument"2.1.1用户触发事件 7\o"CurrentDocument"2.1.2基本需求控制 8\o"CurrentDocument"2.2性能需求 8\o"CurrentDocument"2.2.1响应时间 8\o"CurrentDocument"2.2.2稳定性 9\o"CurrentDocument"2.2.3安全性 9\o"CurrentDocument"系统总体设计 9\o"CurrentDocument"3.1工程总体架构 9\o"CurrentDocument"3.2系统框架设计 10\o"CurrentDocument"3.3界面设计 11\o"CurrentDocument"详细的流程图和伪代码 11\o"CurrentDocument"4.1流程图 11\o"CurrentDocument"4.2主要功能伪代码 12\o"CurrentDocument"软件的测试方法和测试结果 13\o"CurrentDocument"5.1测试用例 13\o"CurrentDocument"5.2测试结果及分析 13\o"CurrentDocument"研制报告 15\o"CurrentDocument"6.1系统的缺陷 15\o"CurrentDocument"6.2总结 15\o"CurrentDocument"参考文献 16系统描述1.1背景很多国家及地区每年都会为当地的人口作身高和体重的统计。这些统计数据,都可以转化成为BMI值,从而再统计出当地人口的BMI值分布。根据这个分布,地方健康政府可以推算出当地人口的过重及过轻指标。一般来说,都会采用统计出来的平均BMI值及其标准差值,再计算出其常态分布的最高5%及最低5%作为过重及过轻指标。我国在这个方面还没有引起太大的重视,有的软件是只是功能单一,没有相应的指导意见。这个软件就根据这个缺点并加入一些人性化的建议说明而开发的。2007年11月5日,Google与其他33家手机制造商(包含摩托罗拉、宏达电、三星、LG)、手机晶片供应商、软硬体供应商、电信业者所联合组成的开放手持装置联盟(OpenHandsetAlliance),发布了名为[Android]的开放手机软硬体平台。参与开放手持装置联盟的这些厂商,都会基于Android平台,来开发新的手机业务。2008年9月24日,T-Mobile首度公布第一台Android手机(G1)的细节,同日Google也释出了AndoridSDK1.0rc1o对应用程式开发者而言,1.0代表了开发者可以放心地使用API,而不必再担心API有太大的变动。G1在同年10月20正式发售。在发售前仅针对原T-Mobile用户的预购活动中,已经被预购了150万台。在10月21日,OpenHandsetAlliance公开了全部Android的原始码。从此,开发者拥有了一个完全开放的手机平台。截止目前已经有多款使用Android的智能手机,超过8万的应用程序。在不到两年时间的发展中,美国市场研究公司NPD2010年发布的统计数据显示,第一季度期间,Android手机在美国市场的销量已超过iPhone,占据该季度美国智能手机总销量的28%,iPhone相应的份额为21%。1.2功能描述该系统主要实现体重指数的计算,通过身高和体重来计算体重指数,指数公式为体重除以身高的平方,即为BMI的值,如果大于25则为偏重,如果小于20,则体重偏瘦,若在20到25之间则体重正常。1.3开发环境介绍Android是基于Linux内核的操作系统,早期由Google开发,后由开放手机联盟开发。它采用了软件堆层的架构,主要分为三部分。底层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。目前最新版本为Android3.0。1.3.1Android体系结构简介Android平台是一组面向移动设备的软件包,它包含了一个操作系统、中间件和关键应用程序。开发人员可以使用AndroidSDK(软件开发工具包)为这个平台创造应用程序。应用程序使用Java语言编写并在Dalvik之内运行。Dalvik是一款量身定制的虚拟机,它专为嵌入式应用设计,运行在Linux内核上层。1.3.2Android架构下图显示了Android操作系统的主要组件。
SYSTEMSERVICESAPPLICATIONSMIDPAPRSStatusBarAppLauncherHome Dialer Contacts BrowserPadtageManagerTelephonyManagerAffudatiunLibrariesM1DPZdSRsNotificationManagerWindowManagerView Resource ContentSystem Manager ProvidersAciivicyManagerE_lISPARIESAndpoidRuntimeMIDPRumtimeMediaFruntworkSurfaceMgg吁CorejauALibrariesMP3,H261PNG,JPEG,…口畋CL|E5LrbWebCoreFreeTypeSQLiteLibc□iispliyDriverKeypadDriverLINUXKERNELBluetootfiM-Sy-sterns□iispliyDriverKeypadDriverLINUXKERNELBluetootfiM-Sy-sternsBinder(I.PC)1JfiR.DriverDriverDriverDriverWiFiDriverAudioDriver?CameraDriverPower
Management图1Android操作系统的主要组件1.3.3应用框架Android的核心应用程序就是依赖框架层次API开发的,程序员们可以充分使用这些API。应用架构设计的初衷是:简化组件复用机制;任何应用都能发布自己的功能,这些功能又可以被任何其他应用使用(当然要受来自框架的强制安全规范的约束)。和复用机制相同,框架允许组件的更换。1.3.4库Android包含一套C/C++库,Android系统的各式组件都在使用。这些功能通过Android应用框架暴露给开发人员。Android的核心类库提供Java类库所提供的绝大部分功能。每个Android应用都运行在自己的进程上,享有Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行,Dalvik被改写过。Dalvik虚拟机执行的是Dalvik格式的可执行文件(.dex)该格式经过优化,以降低内存耗用到最低。Java编译器将Java源文件转为class文件,class文件又被内置的dx工具转化为dex格式文件,这种文件在Dalvik虚拟机上注册并运行。在一些底层功能一一比如线程和低内存管理方面,Dalvik虚拟机是依赖Linux内核的。1.3.5应用Android将预装一组核心应用程序,包括email客户端、短信服务、日历日程、地图服务、浏览器、联系人和其他应用程序。所有应用程序都是Java编程语言编写的。编写Android的应用程序,需要一套个人电脑系统。至于操作系统的部份,几个主流操作系统都有支持。支持的操作系统如下:WindowsXP、Vista或Windows7MacOSX10.4.8或之后版本(适用x86架构的IntelMac)Linux(官方于Ubuntu6.10DapperDrake上测试)1.4开发环境的安装1.4.1下载Eclipse首先需要下载Android开发时会用到的整合开发环境Eclipse。目前Android应用程序只支持使用[Java]程式语言来编写Android应用程式。所以开发前必须先安装Java开发套件(JavaDevelopmentKit,JDK)。各平台的JDK可至/下载。MacOSX作业系统则已内建JDK。安装好JDK后,可以前往Eclipse网站下载Eclipse这个方便的整合开发环境。下载Eclipse时可以选[EclipseIDEforJavaDevelopers]或[EclipseIDEforJavaEEDevelopers]这两种版本,只有这两种版本才会预装 EclipseJDT扩充套件。我选择的是[EclipseIDEforJavaDeveloper,版本。下载完同样先解压缩到适当目录下。1.4.2安装EclipseEclipse不需要安装,只要确认你的系统上有安装 Java,即可直接开启Eclipse资料夹,点击Eclipse开始执行Eclipse整合开发环境。第一次启动Eclipse时会弹出视窗让你决定预设的工作目录。一般使用Eclipse预设的工作目录即可。进入到EclipseIDE后,就能安装Android开发工具扩充套件。1.4.3安装ADT扩充套件在Eclipse上安装Android开发工具(ADT)。我采用的是离线安装,前往/sdk/adt_download.html,手动下载最新的开发工具版本来离线安装。下载完最新的ADT扩充套件后,打开Eclipse开发环境,找到屏幕上方的选单列,选择[Help->SoftwareUpdates]选项,这选项会带出一个新视窗。选择[AvailableSoftware]标签,选择右方的[AddSite...](新增网站)按钮,会弹出一个输入框。选择右上角的[Local...]按钮,并选取刚下载的Android最新开发工具档案,选到之后按下"OK〃按钮离开。在视窗中全选新出现项目的所有选项后,按下右方的[Install]按钮oEclipse会花一点时间开始安装ADT扩充套件。1.4.4下载并设定AndroidSDK到google官网上下载最新版本的AndroidSDK并解压。打开偏好设定页面(Preference),选择Android标签(请确认您已安装好ADT扩充套件,Android标签才会出现在偏好设定页面中),在SDKLocation栏位按下"Browse..."键,选择刚刚解压缩完的[android_sdk]文件夹所在地,然后按下视窗右下角的应用(Apply)按钮。这样一来,AndroidSDK就算是设定好啦。设定好AndroidSDK后,就拥有了一个完整的Android开发环境。
1.4.5创建名为BMI的工程选择[File->New->Project],会弹出[NewProject]对话视窗,将新工程名称命名为BMI。在[内容]栏里,选择[在工作区域中建立新工程](Createnewprojectinworkspace)。对"NewAndroidProject〃对话框中相应的属性中填入以下的值:名称ProjectName名称ProjectNameApplicationNamePackageNameCreateActivityMinSDKVersionBMIBMIcom.demo.android.bmiBmi3填好值后按下[Finish]按钮,就建立好新工程了。需求分析2.1功能需求2.1.1用户触发事件用户通过点击屏幕来实现与数据的交互。软件上的相关按钮是操作请求的输入设备,屏幕是用于向用户输出信息的输出设备。事件是来自人操作的重要的消息,触发时间如表1所示体重指数计算器系统中可能发生的所有事件响应及其执行结果。表1触发事件事件系统响应执行结果1从手机屏幕点击软件系统调用函数入口,启动系统,进入该软件进入该软件2输入身高值调用添加函数界面显示输入数据3输入体重值调用添加函数界面显示输入数据4点击计算体重指数按钮调用计算函数显示体重指数及分析2.1.2基本需求控制系统用例图描述的是用户眼中的系统,即用户希望系统有哪些功能和通过哪些操作完成这些功能。一个用例代表用户与系统交互的一种方式。正如前面介绍过的,识别用例的最好方法是从参与者的角度分析系统。在Android体重指数计算器中,首先的参与者是用户,系统用例图如图2所示。2.2性能需求2.2.1响应时间一般来说,基于Android开发出来的应用程序响应时间很大程度上依赖于安卓设备的硬件配置和系统版本。因此,用户的安卓设备的硬件配置和系统版本都会对应用程序的响应时间又一定的影响。2.2.2稳定性应用程序为本地应用,用户只需通过自己的硬件就可以使用应用。2.2.3安全性Android为开源系统本身比较稳定,同时应用程序无需连接网络因此不存在信息网络泄露的风险。系统总体设计3.1工程总体架构工程主体架构如图3所示:■沼BM1 *,砂g■新com.e-xample.bmi•刷MainActivityjavaJ西genl>田com.e-xample.bmi或com.android,ide.eclipse.adt.ANDROID_FRAMFcom.android,ide.eclipse.adt.LIBRARIES色村com.android.ide.eclipse.adt.DEPENDENCIES&assets,Bbin|>(25?dexedLibs|>&r&s =aAndroidManifest.xmI二BM]启pk国classes..dex国jarlistcache国resources.ap_libsresAndroidManifest.xmI四ic_launcher-web.png国p『oguard-project.txt冒perties _图3Eclipse下的程序系统架构src文件夹Src文件夹下/r/包下Java为系统主要Activity类:Main.java是实现系统主界面的功能,在主界面上有两个输入框,分别为输入身高、输入体重°edit.java是实现编辑的功能。Mysqlhelper.java是对数据库进行版本更新。gen文件夹gen文件夹是项目自动生成的文件夹R.java是工程下各个资源的标识符负责所有资源的索引[9]bin文件夹bin文件夹是编译后的字节码存放的目录,编译的过程首先是编译成为androidjava虚拟机文件classes.dex,再打包成APK格式的包。res文件夹Res是资源目录,res资源目录,它包含项目中的资源文件并将其编译进应用程序中,向此目录添加资源时,会被R.java自动记录。res目录存放所有程序中用到的资源文件。“资源文件”指的资料文件、图片等。子目录有:drawable、layout、values。3.2系统框架设计该系统主要实现计算体重指数计算的功能,系统的整体架构框架如图4所示3.3界面设计打开软件后进入主界面,可输入身高和体重。界面设计如图5所示体重炯计算体重指数图5详细的流程图和伪代码4.1流程图打开软件后进入主界面,可输入身高和体重,之后系统计算体重指数后输出相应的结果。流程图如图6所示。输出结果给用户图6业务处理流程图4.2主要功能伪代码©OverrideprotectedvoidonCreate(BundlesavedInstanceState)(super.onCreate(savedlnstanceState);setContentView(R.layout.main);Buttonbutton=(Button)findViewById(R.id.submit);button.setOnClickListener(calcBMI);}privateOnClickListenercalcBMI=newOnClickListener(){publicvoidonClick(Viewv)(DecimalFormatnf=newDecimalFormat(〃0.00〃);//对显示数字进彳亍格式化EditTextfieldheight=(EditText)findViewById(R.id.height);EditTextfieldweight=(EditText)findViewById(R.id.weight);doubleheight=Double.parseDouble(fieldheight.getText().toString())/100;doubleweight=Double.parseDouble(fieldweight.getText().toString());doubleBMI=weight/(height*height);TextViewresult=(TextView)findViewById(R.id.result);result.setText("您的BMI值是〃+nf.format(BMI));TextViewfieldsuggest=(TextView)findViewById(R.id.suggest);if(BMI>25)(fieldsuggest.setText(R.string.suggest_heav§;}elseif(BMI<20)(fieldsuggest.setText(R.string.suggest_ligh);}else(fieldsuggest.setText(R.string.suggest_averag§;}}软件的测试方法和测试结果5.1测试用例由于该系统并没有具体的输入输出,只是有一些点击指令,所以无需进行边界值测试等一些针对输入输出的测试方法,在对该系统进行测试时,只是通过黑盒测试测试了该系统的功能是否都能实现,以及还有哪些需要的功能没有实现,测试用例如表2所示。表2测试用例序号操作预期结果1打开软件进入主界面2输入身高160,体重65显示体重超标3输入身高160,体重50显示体重太瘦4输入身高160,体重55显示体重正常5输入身高a,体重b提示重新输入5.2测试结果及分析(1)测试1的结果如图7所示体重(kg)计算体重指数图7(2)测试2的结果如图8所示,由于BMI的值大于25,所以显示体重超标
.Gm36%.Gm36%口15;06■■■|BMI160体重(暗)您的BMI值是25.39您的体重已超标,赶快为自己制定一套减肥计划吧!图8(3)测试3的结果如图9所示,由于BMI的值小于20,所以显示体重太瘦身局(cm]160体重(硕50计算体重指数您的值是19.53您的BMI值是25.39您的体重已超标,赶快为自己制定一套减肥计划吧!图8(3)测试3的结果如图9所示,由于BMI的值小于20,所以显示体重太瘦身局(cm]160体重(硕50计算体重指数您的值是19.53图9(4)测试4的结果如图所示,由于BMI的值在20和25之间,所以显示体重正常BMI身高(cm)160体重(kg)55计算体重指数您的RMI值是21.48图10(5)测试5的结果如图11所示,由于输入字符中含有字符,所以提示重新输入, 0碧/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年口腔门诊新媒体运营与患者转化
- 染色体嵌合体的产前诊断与咨询
- 麻醉前评估与择期手术病人控制标准
- 临潭《基层公共服务》阶段测试卷
- 极寒天气医疗救援车辆调度优化
- 肺叶切除术后预防应激性溃疡护理
- 第一节 主要地貌的景观特点说课稿2025学年高中地理中图版2019必修第一册-中图版2019
- 26年儿童患者智力发育随访
- 26年乡村服务质控手册
- 初中心理教育教案:2025年初中生责任感教育主题说课稿
- 教育强国建设三年行动计划(2025-2027年)
- (完整)人行道砖安装施工施工技术交底
- TCNAS22-2021血管活性药物静脉输注护理
- 2025至2030中国口腔医疗服务连锁化扩张与人才梯队建设分析报告
- 艺术生文化课培训招生方案
- 2026届湖北省中考语文模拟卷(解析版)
- 华宝新能源招聘测评题
- 律所反洗钱内部控制制度
- DBJ T 13-415-2023 福建省房屋建筑工程安全文件管理标准-附录表格
- 电化学储能工程质量验收范围划分、单位工程验收意见书、工程启动验收鉴定书、工程试运和移交生产验收鉴定书
- 风湿免疫内科疾病诊断试题及答案
评论
0/150
提交评论