版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉理工大学嵌入式系统开发实训课程设计说明书学 号:0121110340335课程设计课程名称嵌入式系统开发实训题目基于安卓的体重指数计算器程序设计学院计算机科学与技术专业计算机科学与技术班级计科1103班姓名闫敏指导教师夏乂新2014年 12月 28 日课程设计任务书学生姓名:闫敏专业班级:计算机1103指导教师:夏又新工作单位:计算机学院题目:基于android的体重指数计算器程序的设计与实现初始条件:1 .理论:综合运用嵌入式系统设计、计算机组成原理、java语言,程序设计方法等课程的专业知识。2 .实践:学习和使用嵌入式实验箱飞凌ok210的使用方法、基于 android的交叉编译软件
2、环境。在飞凌 ok210实验箱上完成课程设计题目要求的功能。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)课程设计内容:3 用嵌入式实验箱飞凌 ok210搭建嵌入式系统开发环境,在android环境下编写应用程序,完成以下功能,并撰写嵌入式系统设计报告:1 .友好的人机界面;2 .可以输入相关参数;3 .计算后给出体重指数值和建议。课程设计报告书正文的内容应包括:(1) 系统描述(问题域描述);(2) 系统总体分析;(3) 系统总体设计;(4) 详细的流程图或伪代码;(5) 软件的测试方法和测试结果;(6) 研制报告(研制过程,本设计的评价、特点、不足、收获与
3、体会等);时间安排:序号设计内容所用时间1查阅资料,熟悉实验平台和搭建嵌入式系统开发环境,完成android内核移植和烧写系统0.5周2android系统开发的基本技术1周3应用软件系统的开发与实现2周4撰写文档和设计验收0.5周合 计4周指导教师签名:夏又新2014年12月6日系主任(或责任教师)签名:武汉理工大学嵌入式系统开发实训课程设计说明书目录1 .系统描述21.1 背景21.2 功能描述31.3 开发环境介绍31.3.1 android 体系结构简介 31.3.2 android 架构31.3.3 应用框架 41.3.4 库41.3.5 应用51.4 开发环境的安装51.4.1 下载
4、eclipse 51.4.2 安装eclipse 61.4.3 安装adt扩充套件 61.4.4 下载并设定 android sdk 61.4.5 创建名为 bmi的工程 72 .需求分析72.1 功能需求72.1.1 用户触发事件72.1.2 基本需求控制82.2 性能需求82.2.1 响应时间82.2.2 稳定性92.2.3 安全性93 .系统总体设计93.1 工程总体架构93.2 系统框架设计103.3 界面设计114 .详细的流程图和伪代码 114.1 流程图114.2 主要功能伪代码125 .软件的测试方法和测试结果 135.1 测试用例135.2 测试结果及分析136 .研制报告1
5、56.1 系统的缺陷156.2 总结157 .参考文献161 .系统描述1.1 背景很多国家及地区每年都会为当地的人口作身高和体重的统计。这些统计数 据,都可以转化成为bm值,从而再统计出当地人口的bmlfi分布。根据这个分布, 地方健康政府可以推算出当地人口的过重及过轻指标。一般来说,都会采用统计出来的平均bm值及其标准差值,再计算出其常态分布的最高 5%t最低5%乍为过 重及过轻指标。我国在这个方面还没有引起太大的重视,有的软件是只是功能单 一,没有相应的指导意见。这个软件就根据这个缺点并加入一些人性化的建议说 明而开发的。2007年11月5日,google与其他33家手机制造商(包含摩托
6、罗拉、宏达电、三 星、lg)、手机晶片供应商、软硬体供应商、电信业者所联合组成的开放手持装 置联盟(open handsetalliance),发布了名为android的开放手机软硬体平台。 参与开放手持装置联盟的这些厂商,都会基于android平台,来开发新的手机业务。2008年9月24日,t-mobile首度公布第一台 android手机(g1)的细节,同日 google也释出了 andorid sdk1.0 rc1。对应用程式开发者而言,1.0代表了开发 者可以放心地使用api,而不必再担心api有太大的变动。gn同年10月20正式发 售。在发售前仅针对原t-mobile用户的预购活动中
7、,已经被预购了 150万台。在 10月21日,openhandset alliance公开了全部android的原始码。从此,开发者 拥有了一个完全开放的手机平台。截止目前已经有多款使用android的智能手机, 超过8万的应用程序。在不到两年时间的发展中,美国市场研究公司npd 201(#发布的统计数据显 示,第一季度期间,android手机在美国市场的销量已超过iphone,占据该季度 美国智能手机总销量的28% iphone相应的份额为21%101.2 功能描述该系统主要实现体重指数的计算,通过身高和体重来计算体重指数,指数公 式为体重除以身高的平方,即为bmi的值,如果大于25则为偏重
8、,如果小于20, 则体重偏瘦,若在20到25之间则体重正常。1.3 开发环境介绍android是基于linux内核的操作系统,早期由google开发,后由开放手机联 盟开发。它采用了软件堆层的架构,主要分为三部分。底层以 linux内核工作为 基础,只提供基本功能;其他的应用软件则由各公司自行开发,以java作为编写程序的一部分。另外,为了推广此技术,google和其它几十个手机公司建立了开 放手机联盟。目前最新版本为android3.0 。1.3.1 android体系结构简介android平台是一组面向移动设备的软件包,它包含了一个操作系统、中间 件和关键应用程序。开发人员可以使用 and
9、roid sdk(软件开发工具包)为这个平 台创造应用程序。应用程序使用java语言编写并在dalvik之内运行。dalvik是一 款量身定制的虚拟机,它专为嵌入式应用设计,运行在 linux内核上层。1.3.2 android 架构下图显示了 android操作系统的主要组件。systemservicesapplicationsm f of affsstatus barappl-urkch 广homedialercontactsbrowser1package managertelephony managerapplicationlibrariesml 口尸/ ijsrsnotificatio
10、n manageractivity maiiagerwindow managerview systemresourcecontentmanaigerproviders11librariesandroid r untime| midp i runtimemedia frameworksurface managersglcore jaw librariespngjpeg.opengl|es*-libtlibwebcar-e-fretyp胃 lsqlitelinux kerneldisplay drivercamera driverbluetooth driverm-systemsbinder (i
11、pc)driverdriverusb diiwsrkeypad driverwifi driveraundiopowerdriversmsnagernemtj»n ,r i口 bi i图1 android操作系统的主要组件1.3.3 应用框架android的核心应用程序就是依赖框架层次api开发的,程序员们可以充分使 用这些api。应用架构设计的初衷是:简化组件复用机制;任何应用都能发布自 己的功能,这些功能又可以被任何其他应用使用(当然要受来自框架的强制安全规范的约束)。和复用机制相同,框架允许组件的更换。1.3.4 库android包含一套c/c+库,android系统的各式组件
12、都在使用。这些功能通 过android应用框架暴露给开发人员。android的核心类库提供java类库所提供的 绝大部分功能。每个android应用都运行在自己的进程上,享有 dalvik虚拟机为 它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行,dalvik被改 写过。dalvik虚拟机执行的是dalvik格式的可执行文件(.dex )该格式经过优化,以降低内存耗用到最低。 java编译器将java源文件转为class文件,class 文件又被内置的dx工具转化为dex格式文件,这种文件在dalvik虚拟机上注册并 运行。在一些底层功能一一比如线程和低内存管理方面,dalvik虚拟
13、机是依赖linux内核的。1.3.5 应用android将预装一组核心应用程序,包括email客户端、短信服务、日历日程、 地图服务、浏览器、联系人和其他应用程序。所有应用程序都是java编程语言编 写的。编写android的应用程序,需要一套个人电脑系统。至于操作系统的部份, 几个主流操作系统都有支持。支持的操作系统如下:windows xp、vista 或windows 7mac os x 10.4.8 或之后版本(适用x86架构的intel mac)linux(官方于 ubuntu 6.10 dapper drake 上测试)1.4 开发环境的安装1.4.1 下载 eclipse首先需要
14、下载android开发时会用到的整合开发环境 eclipse。目前android 应用程序只支持使用java程式语言来编写android应用程式。所以开发前必须 先安装java开发套件(java development kit, jdk)。各平台的jdkm至 下载。macosx作业系统则已内建jdk)安装好jdkw,可 以前往eclipse网站下载eclipse这个方便的整合开发环境。下载 eclipse时可以 选eclipse ide for java developers或eclipse ide for java eedevelopers 这两种版本,只有这两种版本才会预装eclipse
15、jdt扩充套件。我选择的是eclipse ide for java developers 版本。下载完同样先解压缩到适当目录下。1.4.2 安装 eclipseeclipse 不需要安装,只要确认你的系统上有安装 java,即可直接开启 eclipse资料夹,点击eclipse 开始执行eclipse整合开发环境。第一次启动 eclipse时会弹出视窗让你决定预设的工作目录。一般使用eclipse预设的工作目录即可。进入到eclipselde后,就能安装android开发工具扩充套件。1.4.3 安装adt扩充套件在eclipse上安装android开发工具(adt)。 我采用的是离线安装,前
16、往,手动下载最新的开发工具版本来离线安装。下载完最新的adtt充套件后,打开eclipse开发环境,找 到屏幕上方的选单列,选择help->software updates选项,这选项会带出一个 新视窗。选择available software标签,选择右方的add site(新增网站)按钮,会弹出一个输入框。选择右上角的local. 按钮,并选取刚下载的 android最新开发工具档案,选到之后按下“ok"按钮离开。在视窗中全选新出现 项目的所有选项后,按下右方的install 按钮。eclipse会花一点时间开始安装 adt扩充套件。1.4.4 下载并设定 android
17、sdk到google官网上下载最新版本的android sdk并解压。打开偏好设定页面 (preference),选择android标签(请确认您已安装好adtt充套件,android标签 才会出现在偏好设定页面中),在sdklocation栏位按下"browse.”键,选择刚 刚解压缩完的android_sdk文件夹所在地,然后按下视窗右下角的应用(apply) 按钮。这样一来,android sdk就算是设定好啦。设定好android sdk后,就拥有了一个完整的 android开发环境。1.4.5 创建名为bmi的工程选择file->new->project,会弹出
18、new project对话视窗,将新工程名称命名为bmi。在内容栏里,选择在工作区域中建立新工程(create new project in workspace) 。对"new android project" 对话框中相应的属性中填入名称project nameapplication namepackage namecreate activity min sdk version以下的值:值bmibmicom.demo.android.bmibmi3填好值后按下finish按钮,就建立好新工程了2 .需求分析2.1 功能需求2.1.1 用户触发事件用户通过点击屏幕来实现与数
19、据的交互。软件上的相关按钮是操作请求的输入设备,屏幕是用于向用户输出信息的输出设备。事件是来自人操作的重要的消息,触发时间如表1所示体重指数计算器系统 中可能发生的所有事件响应及其执行结果。表1触发事件事件系统响应执行结果1从手机屏幕点击软件系 统调用函数入口,启动系 统,进入该软件进入该软件2输入身高值调用添加函数界面显示输入数据3输入体重值调用添加函数界面显示输入数据4点击计算体重指数按钮调用计算函数显示体重指数及分析2.1.2 基本需求控制系统用例图描述的是用户眼中的系统,即用户希望系统有哪些功能和通过哪 些操作完成这些功能。一个用例代表用户与系统交互的一种方式。正如前面介绍过的,识别用
20、例的最好方法是从参与者的角度分析系统。在android体重指数计 算器中,首先的参与者是用户,系统用例图如图 2所示。图2用例图2.2 性能需求2.2.1 响应时间一般来说,基于android开发出来的应用程序响应时间很大程度上依赖于安 卓设备的硬件配置和系统版本。因此,用户的安卓设备的硬件配置和系统版本都 会对应用程序的响应时间又一定的影响2.2.2 稳定性应用程序为本地应用,用户只需通过自己的硬件就可以使用应用。2.2.3 安全性android为开源系统本身比较稳定,同时应用程序无需连接网络因此不存在 信息网络泄露的风险。3 .系统总体设计3.1 工程总体架构工程主体架构如图3所示:j g
21、 bmj学 src曲 ccnn.example.bin ij ma in activity java & gen也 com.example.brrii片 com.anciroicljcieheclipse-adtandrofdframe' coin.android.ide.eelip5e.adt.llbrarjes3 com.androidjdereclipse adtdependences0 assets l3 bin> 今 dexedlibs> & res口 androidmanifest.xmlfl bmj.apk匡 cldises.dex jarli
22、st.cacheresources, a p_& lib导> d> 口 "i. androidman(festj(ml1.回 i c_l a u ncher - web .png5| prog ja rd -project.txt, projectlproperries-1-1.图3 eclipse下的程序系统架构l.src文件夹src文件夹下com.lyj 。 cn包下java为系统主要 activity 类:main.java是实现系统主界面的功能,在主界面上有两个输入框,分别为输 入身高、输入体重。edit.java 是实现编辑的功能。mysqlhelper
23、.java 是对数据 库进行版本更新。2 .gen文件夹gen文件夹是项目自动生成的文件夹r.java是工程下各个资源的标识符负责所有资源的索引9。3 .bin文件夹bin文件夹是编译后的字节码存放的目录,编译的过程首先是编译成为 android java 虚拟机文件classes.dex ,再打包成apk格式的包。4 .res文件夹res是资源目录,res资源目录,它包含项目中的资源文件并将其编译进应 用程序中,向此目录添加资源时,会被 r.java自动记录。res目录存放所有程 序中用到的资源文件。“资源文件”指的资料文件、图片等。子目录有:drawable、 layout、values。
24、3.2 系统框架设计该系统主要实现计算体重指数计算的功能,系统的整体架构框架如图4所示图4系统架构图武汉理工大学嵌入式系统开发实训课程设计说明书3.3 界面设计打开软件后进入主界面,可输入身高和体重。界面设计如图5所示身高(cm) 体重饮g)计算体重指数图54.详细的流程图和伪代码4.1流程图打开软件后进入主界面,可输入身高和体重,之后系统计算体重指数后输出相应的结果。流程图如图6所示。4.2主要功能伪代码overrideprotected void oncreate(bundle savedinstancestate) super .oncreate(savedlnstancestate);
25、setcontentview(r.layout.main);button button=(button)findviewbyid(r.id.submit);button.setonclicklistener(calcbmi);private onclicklistenercalcbmi =new onclicklistener()public void onclick(view v)decimalformat nf= newdecimalformat( "0.00" ); / 对显示数字进行 格式化edittext fieldheight=(edittext)findvie
26、wbyid(r.id.height );edittext fieldweight=(edittext)findviewbyid(r.id.weight);doubleheight=doubeparsedouble(fieldheight.gettext().tostring()/100; doubleweight=double.parsedouble(fieldweight.gettext().tostring();double bmi=weight/(height*height);textview result=(textview)findviewbyid(r.id. result );re
27、sult.settext( "您的 bmi值是"+nf.format(bmi);textview fieldsuggest=(textview)findviewbyid(r.id. suggest);suggest_heavy );suggest_light );suggest_average );if (bmi>25)fieldsuggest.settext(r.string. else if (bmi<20)fieldsuggest.settext(r.string. else fieldsuggest.settext(r.string. 175 .软件的测
28、试方法和测试结果5.1 测试用例由于该系统并没有具体的输入输出,只是有一些点击指令,所以无需进行边 界值测试等一些针对输入输出的测试方法, 在对该系统进行测试时,只是通过黑 盒测试测试了该系统的功能是否都能实现,以及还有哪些需要的功能没有实现, 测试用例如表2所示。表2测试用例在舁 厅p操作预期结果1打开软件进入主界面2输入身高160,体重65显小体重超标3输入身高160,体重50显小体重太瘦4输入身高160,体重55显小体重正常5输入身图a,体重b提小重新输入5.2 测试结果及分析(1)测试1的结果如图7所示0 节就|36%口 15:07hbmi体重计算体重指数图7(2)测试2的结果如图8所
29、示,由于bmi的值大于25,所以显示体重超标身高匕e) 160 体重m) 6旦您的口刈值是25.39您的体重已超标,赶快为自己制定一套减肥计划吧!计算体重指数图8(3)测试3的结果如图9所示,由于bmi的值小于20,所以显示体重太瘦您的日吊俏是1933身高匕田 160 体重(kg) 50计算体重指数图9(4)测试4的结果如图 所示,由于bmi的值在20和25之间,所以显示体重 正常- bmi身高(cm) 160体重e 55您的bm喳是21,48计算体重指数图10(5)测试5的结果如图11所示,由于输入字符中含有字符,所以提示重新输入身高匕ma体重如)b计算体重指数输入的内容包含字母,请重新输入!图11通过这些测试,这个系统的基本功能都已实现,但系统的美观以及功能实现 的方式还有待完善。6 .研制报告6.1 系统的缺陷(1)该系统中只实现了体重指数查询的功能,还不能很好的为用户提供更 加全面的有关体重的信息。(2)该系统中还可以增加用户体重记录的功能,以便用户更好的了解自己 体重变化的情况。(3)该系统的界面还很简单,美观效果不是很好。6.2 总结本设计首先对课题的背景和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 缝纫机用针项目运营指导方案
- 烟草加工机产品供应链分析
- 亚麻籽油膳食补充剂产品供应链分析
- 给水加热器工业用市场发展前景分析及供需格局研究预测报告
- 硅外延片产品供应链分析
- 图书出租行业经营分析报告
- 家政人员招聘辅助行业经营分析报告
- 个人用磨脚石产品供应链分析
- 眼镜商业机会挖掘与战略布局策略研究报告
- 休养所行业营销策略方案
- 小学美术11-身边的伙伴ppt课件
- SQL-Server基础培训PPT优秀课件
- 汽车排放控制系统的检修
- 乳腺癌英文相关
- 团队管理经典案例分析
- 李燕璇植树问题卡通版5
- 《新能源》题库(试题及答案29个)
- 手井施工检验批质量验收记录[共2页]
- (完整版)油罐换底工程施工方案
- 悬吊技术的临床应
- 精益管理与精益服务
评论
0/150
提交评论