版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学 号:35课程设计课程名称嵌入式系统开发实训题目基于安卓的体重指数计算器程序设计学院计算机科学与技术专业计算机科学与技术班级计科1103班姓名闫敏夏又新指导教师2014年 12月 28 日课程设计任务书学生姓名:闫敏专业班级:计算机1103指导教师:夏又新工作单位:计算机学院基于An droid的体重指数计算器程序的设计与实现初始条件:java语言,程序设计方法等课1. 理论:综合运用嵌入式系统设计、计算机组成原理、 程的专业知识。2. 实践:学习和使用嵌入式实验箱飞凌ok210的使用方法、基于 An droid的交叉编译 软件环境。在飞凌 ok210实验箱上完成课程设计题目要求的功能。要求
2、完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写 等具体要求)课程设计内容:利用嵌入式实验箱飞凌 ok210搭建嵌入式系统开发环境, 在An droid环境下编写应用程 序,完成以下功能,并撰写嵌入式系统设计报告:1. 友好的人机界面;2. 可以输入相关参数;3. 计算后给出体重指数值和建议。课程设计报告书正文的内容应包括:(1)(2)(3)(4)(5)(6)系统描述(问题域描述);系统总体分析;系统总体设计;详细的流程图或伪代码;软件的测试方法和测试结果;研制报告(研制过程,本设计的评价、特点、不足、收获与体会等);时间安排:指导教师签名:夏又新2014年12月6日序号设计内
3、容所用时间1查阅资料,熟悉实验平台和搭建嵌入式系统开发环境, 成an droid内核移植和烧写系统完0.5周2An droid系统开发的基本技术1周3应用软件系统的开发与实现2周4撰写文档和设计验收0.5周合计4周系主任(或责任教师)签名:目录1.系统描述 1.1 背景 1.2 功能描述 1.3 开发环境介绍 1.3.1 Android 体系结构简介 .1.3.2Android 架构 1.3.3 应用框架 1.3.4 库 1.3.5 应用 1.4 开发环境的安装 1.4.1 下载 Eclipse 1.4.2 安装 Eclipse 1.4.3 安装 ADT 扩充套件 1.4.4下载并设定 And
4、roid SDK1.4.5 创建名为 BMI 的工程 2.需求分析 2.1 功能需求 2.1.1 用户触发事件 2.1.2 基本需求控制 2.2 性能需求 2.2.1 响应时间 2.2.2 稳定性 2.2.3 安全性 3.系统总体设计 3.1 工程总体架构 3.2 系统框架设计 3.3 界面设计 4.详细的流程图和伪代码 4.1 流程图 4.2 主要功能伪代码 5.软件的测试方法和测试结果 5.1 测试用例 5.2 测试结果及分析 6.研制报告 6.1 系统的缺陷 6.2 总结 7.参考文献 3344556667788910101011121212141414151. 系统描述1.1 背景很多
5、国家及地区每年都会为当地的人口作身高和体重的统计。这些统计数 据,都可以转化成为BM值,从而再统计出当地人口的BM值分布。根据这个分布, 地方健康政府可以推算出当地人口的过重及过轻指标。 一般来说, 都会采用统计 出来的平均BM值及其标准差值,再计算出其常态分布的最高 5液最低5%乍为过重及过轻指标。 我国在这个方面还没有引起太大的重视, 有的软件是只是功能单,没有相应的指导意见。 这个软件就根据这个缺点并加入一些人性化的建议说 明而开发的。2007年11月5日,Google与其他33家手机制造商(包含摩托罗拉、宏达电、三 星、LG)、手机晶片供应商、软硬体供应商、电信业者所联合组成的开放手持
6、装 置联盟 (Open HandsetAllianee) ,发布了名为 Android 的开放手机软硬体平台。参与开放手持装置联盟的这些厂商,都会基于An droid平台,来开发新的手机业务。2008年9月24日,T-Mobile首度公布第一台 An droid手机(G1)的细节,同日Google也释出了 Andorid SDK1.0 rc1。对应用程式开发者而言,1.0代表了开发者可以放心地使用API,而不必再担心API有太大的变动。G在同年10月20正式发 售。在发售前仅针对原 T-Mobile 用户的预购活动中,已经被预购了 150万台。在 10月21日,OpenHan dset All
7、ia nee公开了全部An droid的原始码。从此,开发者拥有了一个完全开放的手机平台。截止目前已经有多款使用An droid的智能手机,超过8万的应用程序。在不到两年时间的发展中,美国市场研究公司NPD 2010年发布的统计数据显示,第一季度期间,An droid手机在美国市场的销量已超过iP ho ne,占据该季度美国智能手机总销量的28% iPhone相应的份额为21%1.2 功能描述该系统主要实现体重指数的计算,通过身高和体重来计算体重指数,指数公 式为体重除以身高的平方,即为BMI的值,如果大于25则为偏重,如果小于20, 则体重偏瘦,若在 20到25之间则体重正常。1.3 开发环
8、境介绍以Java作为编写Android 是基于 Linux 内核的操作系统,早期由Google开发,后由开放手机联 盟开发。它采用了软件堆层的架构,主要分为三部分。底层以 Linux 内核工作为 基础,只提供基本功能; 其他的应用软件则由各公司自行开发,程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开 放手机联盟。目前最新版本为 Android3.0 。1.3.1 Android体系结构简介Android 平台是一组面向移动设备的软件包,它包含了一个操作系统、中间件和关键应用程序。开发人员可以使用 An droid SDK(软件开发工具包)为这个平台创造应用程序。应
9、用程序使用Java语言编写并在Dalvik之内运行。Dalvik是款量身定制的虚拟机,它专为嵌入式应用设计,运行在Linux 内核上层。1.3.2Android 架构下图显示了 Android 操作系统的主要组件。SYSTEMSERVICESAppI mnrherTkpl'.ru-iyMa哪 pr3-JomeApplicationsDiaferCootjiztsApplication LibrapiesBrowserN oh fi rationEiinnp? rWindowManagerVi4w殆戎PECnnt-pntP-nvidpr&Manage rl_IQRARIE?5AN
10、DROID 口 USJTIMESurfaceOpcnCf l-fSDu tviKVictL LttJuchiiRrrvprLibWebCoreFre碍戸旳LiwDrive*:'Drivpi-LNUX KERNELOkwtoDthDriverWjFi DriucrDfwrAttdiQDmdr (IPC;Driv<*rPnk MIDPAprsMIDP/J5R曰M FDPRuntimeUSE Driver图1 An droid操作系统的主要组件1.3.3应用框架An droid的核心应用程序就是依赖框架层次API开发的,程序员们可以充分使用这些API。应用架构设计的初衷是:简化组件复用
11、机制;任何应用都能发布自己的功能,这些功能又可以被任何其他应用使用 (当然要受来自框架的强制安全规范的约束)。和复用机制相同,框架允许组件的更换。134库An droid包含一套C/C+库,An droid系统的各式组件都在使用。这些功能通过An droid应用框架暴露给开发人员。An droid的核心类库提供Java类库所提供的Dalvik被改绝大部分功能。每个An droid应用都运行在自己的进程上,享有 Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行,写过。Dalvik虚拟机执行的是Dalvik格式的可执行文件(.dex )该格式经过优化,以降低内存耗用到
12、最低。Java编译器将Java源文件转为class文件,classDalvik 虚拟机是依赖文件又被内置的dx工具转化为dex格式文件,这种文件在Dalvik虚拟机上注册并 运行。在一些底层功能比如线程和低内存管理方面,Linux 内核的。1.3.5 应用An droid将预装一组核心应用程序,包括email客户端、短信服务、日历日程、地图服务、浏览器、联系人和其他应用程序。所有应用程序都是Java编程语言编 写的。编写An droid的应用程序,需要一套个人电脑系统。至于操作系统的部份,几个主流操作系统都有支持。支持的操作系统如下:Windows XP、Vista 或Windows 7Mac
13、 OS X 1048 或之后版本(适用x86架构的In tel Mac)Linux( 官方于 Ubuntu 6.10 Dapper Drake 上测试)1.4 开发环境的安装1.4.1 下载 Eclipse首先需要下载 Android 开发时会用到的整合开发环境 Eclipse 。目前 Android 应用程序只支持使用 Java 程式语言来编写 Android 应用程式。所以开发前必须先安装Java开发套件(Java Development Kit, JDK)。各平台的JD则至下载。MacOSX作业系统则已内建JDK安装好JDKf,可以前往Eclipse网站下载Eclipse这个方便的整合开
14、 发环境。下载 Eclipse 时可以选 Eclipse IDE for Java Developers或Eclipse IDE for Java EEDevelopers这两种版本,只有这两种 版本才 会预装Eclipse JDT 扩充套件。我 选择的 是Eclipse IDE for JavaDevelopers 版本。下载完同样先解压缩到适当目录下。1.4.2 安装 EclipseEclipse不需要安装,只要确认你的系统上有安装Java,即可直接开启Eclipse 资料夹,点击 Eclipse 开始执行 Eclipse 整合开发环境。第一次启动Eclipse 时会弹出视窗让你决定预设的
15、工作目录。 一般使用 Eclipse 预设的工作目 录即可。进入到 EclipseIDE 后,就能安装 Android 开发工具扩充套件。1.4.3 安装 ADT 扩充套件在Eclip se上安装An droid开发工具(ADT)。我采用的是离线安装,前往,手动下载最新的开发工具版本来离线安装。下载完最新的ADTT充套件后,打开Eclipse开发环境,找到屏幕上方的选单列,选择Hel p->Software Up dates选项,这选项会带出一个新视窗。选择 AvailableSoftware 标签,选择右方的 Add Site.( 新增网站 )按钮,会弹出一个输入框。选择右上角的 Lo
16、cal. 按钮,并选取刚下载的 Android 最新开发工具档案,选 到之后按下"OK"按钮离开。在视窗中全选新出现项目的所有选项后, 按下右方的 Install 按钮。 Eclipse 会花一点时间开始安装 ADT 扩充套件。1.4.4 下载并设定 Android SDK到google官网上下载最新版本的An droid SDK并解压。打开偏好设定页面(P refere nee),选择An droid标签(请确认您已安装好AD矿充套件,An droid标签 才会出现在偏好设定页面中),在SDKLocation栏位按下"Browse."键,选择刚 刚解压
17、缩完的 android_sdk 文件夹所在地,然后按下视窗右下角的应用 (Apply) 按钮。这样一来,An droid SDK就算是设定好啦。设定好 Android SDK 后,就拥有了一个完整的 Android 开发环境。1.4.5 创建名为 BMI 的工程选择File->New->Project,会弹出New Project对话视窗,将新工程名称命名为BMI。在内容栏里,选择在工作区域中建立新工程(Create new以下的值:名称P roject NameBMIApp licatio n NameBMIP ackage Namecom.demo.a ndroid.bmiCr
18、eate ActivityBmiMin SDK Version填好值后按下Finish按钮,就建立好新工程了。2. 需求分析2.1功能需求2.1.1用户触发事件用户通过点击屏幕来实现与数据的交互。软件上的相关按钮是操作请求的输 入设备,屏幕是用于向用户输出信息的输出设备。事件是来自人操作的重要的消息,触发时间如表1所示体重指数计算器系统中可能发生的所有事件响应及其执行结果。 表1触发事件事件系统响应执行结果1从手机屏幕点击软件系 统调用函数入口,启动系 统,进入该软件进入该软件2输入身高值调用添加函数界面显示输入数据3输入体重值调用添加函数界面显示输入数据4点击计算体重指数按钮调用计算函数显示
19、体重指数及分析2.1.2基本需求控制系统用例图描述的是用户眼中的系统,即用户希望系统有哪些功能和通过哪 些操作完成这些功能。一个用例代表用户与系统交互的一种方式。 正如前面介绍 过的,识别用例的最好方法是从参与者的角度分析系统。在An droid体重指数计算器中,首先的参与者是用户,系统用例图如图 2所示。2.2性能需求2.2.1响应时间一般来说,基于An droid开发出来的应用程序响应时间很大程度上依赖于安卓设备的硬件配置和系统版本。因此,用户的安卓设备的硬件配置和系统版本都 会对应用程序的响应时间又一定的影响。222稳定性应用程序为本地应用,用户只需通过自己的硬件就可以使用应用。2.2.
20、3安全性An droid为开源系统本身比较稳定,同时应用程序无需连接网络因此不存在信息网络泄露的风险。3. 系统总体设计3.1工程总体架构工程主体架构如图3所示:J 炉 BMr砖SIX* 阳 com.frxample.bmi> 也)Ma 1 nActivity.j ava£5 gen卜审 corn.example.bmi conn,androidjde,edrp&e,adtANDROD_FRAIWIE' com .an droid.ide.eeI Ip se,adt.LI0RARIESZ Cciin.ancIroldl.lde.eclipse.adt.DEFEl
21、NDENClE?D assets bin卜凸 dexedLibsP & resClI AndroidManHest.KmlB BMUpk皆 clases.dex0 jarlist 匚a匚he Q r*5ources.ap_凸 Fibs>r”Id Androidh/lanifest.jtml聽 rc_l a u rcher-web, pr g13 proguard-prqjectbrtIR perlies厂I 图3 Eclipse下的程序系统架构I.src文件夹Src文件夹下包下Java为系统主要 Activity 类:Main.java
22、是实现系统主界面的功能,在主界面上有两个输入框,分别为输入身高、输入体重。edit.java 是实现编辑的功能。MysqlheIper.java 是对数据 库进行版本更新。2.gen文件夹gen文件夹是项目自动生成的文件夹R.java是工程下各个资源的标识符负责所有资源的索引9。3.bin文件夹bin文件夹是编译后的字节码存放的目录,编译的过程首先是编译成为 an droid java 虚拟机文件classes.dex,再打包成APK格式的包。4.res文件夹Res是资源目录,res资源目录,它包含项目中的资源文件并将其编译进应用程序中,向此目录添加资源时,会被R.java自动记录。res目录
23、存放所有程序中用到的资源文件。“资源文件”指的资料文件、图片等。子目录有:drawable、layout、values。该系统主要实现计算体重指数计算的功能,系统的整体架构框架如图4所图4系统架构图3.3界面设计打开软件后进入主界面,可输入身高和体重。界面设计如图5所示身高cm)计算体重指数图56所示。4. 详细的流程图和伪代码4.1流程图打开软件后进入主界面,可输入身高和体重,之后系统计算体重指数后输出相应的结果。流程图如图4.2主要功能伪代码Overridep rotected void on Create(Bundle saved In sta nceState) super .onCr
24、eate(savedInstanceState);setConten tView(R.layout.mai n);Button butto n=(Butto n)fin dViewByld(R.id. butto n. set On ClickListe ner(calcBMI);submit);p rivate On ClickListe nercalcBMI =new On ClickListe ner()public void onClick(View v)DecimalFormat nf= newDecimalFormat( "0.00" ); /对显示数字进行格式
25、化EditText fieldheight=(EditText)findViewById(R.id.EditText fieldweight=(EditText)fi ndViewByld(R.id. doubleheight=Doube.parseDouble(fieldheight.getText().toStri ng()/100; doubleweight=Double.parseDouble(fieldweight.getText().toStri ng();double BMI=weight/(height*height);height );weight );Textview re
26、sult=(TextView)fi ndViewByld(R.id. result.setText( "您的 BMI值是"+nf.format(BMI);result );Textview fieldsuggest=(TextView)findViewById(R.id. if (BMI>25)fieldsuggest.setText(R.stri ng.else if (BMI<20)fieldsuggest.setText(R.stri ng.else fieldsuggest.setText(R.stri ng.suggest_heavy);suggest
27、_light );suggest_average );suggest);5. 软件的测试方法和测试结果5.1测试用例由于该系统并没有具体的输入输出,只是有一些点击指令,所以无需进行边界值测试等一些针对输入输出的测试方法,在对该系统进行测试时,只是通过黑盒测试测试了该系统的功能是否都能实现,以及还有哪些需要的功能没有实现,测试用例如表2所示。表2测试用例序号操作预期结果1打开软件进入主界面2输入身高160,体重65显示体重超标3输入身高160,体重50显示体重太瘦4输入身高160,体重55显示体重正常5输入身高a,体重b提示重新输入5.2测试结果及分析(1) 测试1的结果如图7所示H eG 严3
28、6%t 15:07> W(cnn)计算体重指数图7(2) 测试2的结果如图8所示,由于BMI的值大于25,所以显示体重超标©G 芋吧M 36%H 15:05W1? BM1160倖S伙gl6日计算体重指数图8您的巳M值杲25.39您的体重已超标.赶快为自己制定一窘减矍计划吃!测试3的结果如图9所示,由于BMI的值小于20,所以显示体重太瘦H e0 乎 | 36%U 15:04創;BM!支副cm)160 统重(kg)50计算体重指数無的日M值是19力您太瘦啦.映朿加入吃货行列吧I(4) 正常测试4的结果如图 所示,由于BMI的值在20和25之间,所以显示体重身高(cm)160休重攸
29、切55计算体重指数图10您的値杲21 .48 您的体更符合标准,请继续探(5)测试5的结果如图11所示,由于输入字符中含有字符,所以提示重新输入BMI计算体重指数轴入的内容包含宇母,请!?新输入!图11通过这些测试,这个系统的基本功能都已实现,但系统的美观以及功能实现 的方式还有待完善。6. 研制报告6.1系统的缺陷(1)该系统中只实现了体重指数查询的功能,还不能很好的为用户提供更加全面的有关体重的信息。该系统中还可以增加用户体重记录的功能,以便用户更好的了解自己体重变化的情况。(3) 该系统的界面还很简单,美观效果不是很好。6.2总结本设计首先对课题的背景和国内外的发展情况作出全面的介绍,然后对本程 序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年节日庆典宣传品批量采购合同2篇
- 2025年暑期大学生兼职项目合作协议书3篇
- 2025年牙科产品市场营销与推广合同模板3篇
- 2024年中级经济师考试题库实验班
- 2025年度个人二手房购房合同范本及装修款项分期支付协议2篇
- CEEM《全球智库半月谈》总第295期
- 银山路施工方案审查
- 2024年中级经济师考试题库附答案【模拟题】
- 音响安装施工方案
- 2024年中级经济师考试题库含完整答案
- 专升本英语阅读理解50篇
- 施工单位值班人员安全交底和要求
- 中国保险用户需求趋势洞察报告
- 数字化转型指南 星展银行如何成为“全球最佳银行”
- 中餐烹饪技法大全
- 灵芝孢子油减毒作用课件
- 现场工艺纪律检查表
- 医院品管圈与护理质量持续改进PDCA案例降低ICU病人失禁性皮炎发生率
- 新型电力系统研究
- 烘干厂股东合作协议书
- 法院服务外包投标方案(技术标)
评论
0/150
提交评论