武汉理工大学《嵌入式系统开发实训》课程设计说明书
课程名称 嵌入式系统开发实训
题 目 基于安卓的体重指数计算器程序设计
学 院 计算机科学与技术
专 业 计算机科学与技术
班 级 计科1103班
姓 名 闫敏
指导教师 夏又新
2014年 12月 28日
武汉理工大学《嵌入式系统开发实训》课程设计说明书
课程设计任务书
学生姓名 闫敏 专业班级 计算机1103
指导教师 夏又新 工作单位 计算机学院
题 目: 基于Andro i d的体重指数计算器程序的设计与实现
初始条件
1 理论综合运用嵌入式系统设计、计算机组成原理、 java语言程序设计方法等课程的专业知识。
2实践学习和使用嵌入式实验箱飞凌ok210的使用方法、基于Android的交叉编译软件环境。在飞凌ok210实验箱上完成课程设计题目要求的功能。
要求完成的主要任务: 包括课程设计工作量及其技术要求 以及说明书撰写等具体要求
课程设计内容
利用嵌入式实验箱飞凌ok210搭建嵌入式系统开发环境在Android环境下编写应用程序完成以下功能并撰写嵌入式系统设计报告
1.友好的人机界面
2.可以输入相关参数
3.计算后给出体重指数值和建议。
课程设计报告书正文的内容应包括
1 系统描述问题域描述
2 系统总体分析
3 系统总体设计
4 详细的流程图或伪代码
5 软件的测试方法和测试结果
6 研制报告研制过程本设计的评价、特点、不足、 收获与体会等
时间安排
指导教师签名 夏又新2014年12月6
日
武汉理工大学《嵌入式系统开发实训》课程设计说明书
系主任或责任教师签名 年 月 日
武汉理工大学《嵌入式系统开发实训》课程设计说明书
目录
1.系统描述. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . .. .. .. .. ..2
1.1背景. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . .. .. .. .2
1.2功能描述. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..3
1.3开发环境介绍. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .3
1.3.1Android体系结构简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1.3.2Android架构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1.3.3应用框架.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..4
1.3.4库.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..4
1.3.5应用.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..5
1.4开发环境的安装. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..5
1.4.1下载Eclipse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1.4.2安装Eclipse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.4.3安装ADT扩充套件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.4.4下载并设定AndroidSDK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.4.5创建名为BMI的工程. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .7
2.需求分析. . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .7
2.1功能需求. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .7
2.1.1用户触发事件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2.1.2基本需求控制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
2.2性能需求. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .8
2.2.1响应时间.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .8
2.2.2稳定性.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .9
2.2.3安全性. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..9
3.系统总体设计. . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .9
3.1工程总体架构. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .9
3.2系统框架设计. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .10
3.3界面设计. . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..11
4.详细的流程图和伪代码. . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .11
4.1流程图. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . .11
4.2主要功能伪代码. . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..12
5.软件的测试方法和测试结果. . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..13
5.1测试用例. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .13
5.2测试结果及分析. . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..13
6.研制报告. . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .15
6.1系统的缺陷. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .15
6.2总结. . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..15
7.参考文献. . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .16
0
武汉理工大学《嵌入式系统开发实训》课程设计说明书
1.系统描述
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.0rc1。对应用程式开发者而言 1.0代表了开发者可以放心地使用API而不必再担心API有太大的变动。 G 1在同年10月20正式发售。在发售前仅针对原T-Mobile用户的预购活动中 已经被预购了150万台。在10月21日OpenHandsetAlliance公开了全部Android的原始码。从此开发者拥有了一个完全开放的手机平台。截止目前已经有多款使用Android的智能手机超过8万的应用程序。
在不到两年时间的发展中,美国市场研究公司NPD2010年发布的统计数据显示第一季度期间 Android手机在美国市场的销量已超过iPhone 占据该季度美国智能手机总销量的28% iPhone相应的份额为21%。
1
武汉理工大学《嵌入式系统开发实训》课程设计说明书
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操作系统的主要组件。
2
武汉理工大学《嵌入式系统开发实训》课程设计说明书
图1Android操作系统的主要组件
1.3.3应用框架
Android的核心应用程序就是依赖框架层次API开发的程序员们可以充分使用这些API。应用架构设计的初衷是简化组件复用机制任何应用都能发布自己的功能这些功能又可以被任何其他应用使用当然要受来自框架的强制安全规范的约束 。和复用机制相同框架允许组件的更换。
1.3.4库
Android包含一套C/C++库 Android系统的各式组件都在使用。这些功能通过Android应用框架暴露给开发人员。 Android的核心类库提供Java类库所提供的绝大部分功能。每个Android应用都运行在自己的进程上享有Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行 Dalvik被改写过。 Dalvik虚拟机执行的是Dalvik格式的可执行文件 . dex该格式经
3
武汉理工大学《嵌入式系统开发实训》课程设计说明书
过优化 以降低内存耗用到最低。 Java编译器将Java源文件转为class文件class文件又被内置的dx工具转化为dex格式文件这种文件在Dalvik虚拟机上注册并运行。在一些底层功能——比如线程和低内存管理方面 Dalvik虚拟机是依赖Linux内核的。
1.3.5应用
Android将预装一组核心应用程序包括email客户端、短信服务、 日历日程、地图服务、浏览器、联系人和其他应用程序。所有应用程序都是Java编程语言编写的。
编写Android的应用程序需要一套个人电脑系统。至于操作系统的部份几个主流操作系统都有支持。
支持的操作系统如下
WindowsXP、 Vista或Windows7
MacOSX10.4.8或之后版本(适用x86架构的IntelMac)
Linux(官方于Ubuntu6. 10DapperDrake上测试)
1.4开发环境的安装
1.4.1下载Eclipse
首先需要下载Android开发时会用到的整合开发环境Eclipse。 目前Android应用程序只支持使用[Java]程式语言来编写Android应用程式。所以开发前必须先安装Java 开发套件(JavaDevelopmentKit,JDK) 。各平台的JDK可至http://java. sun.com/下载。 MacOSX作业系统则已内建JDK。安装好JDK后可以前往Eclipse网站下载Eclipse这个方便的整合开发环境。下载Eclipse时可以选[EclipseIDEforJavaDevelopers]或[EclipseIDEforJavaEEDevelopers]这两种版本 只有这两种版本才会预装Ecl ipseJDT扩充套件。 我选择的是[EclipseIDEforJavaDevelopers]版本。下载完同样先解压缩到适当目录下。
4
武汉理工大学《嵌入式系统开发实训》课程设计说明书
1.4.2安装Eclipse
Eclipse不需要安装只要确认你的系统上有安装Java 即可直接开启Eclipse资料夹 点击Eclipse 开始执行Eclipse整合开发环境。第一次启动Eclipse时会弹出视窗让你决定预设的工作目录。一般使用Eclipse预设的工作目录即可。进入到EclipseIDE后就能安装Android开发工具扩充套件。
1.4.3安装AD T扩充套件
在Eclipse上安装Android开发工具(ADT) 。
我采用的是离线安装前往http://developer.android. com/sdk/adt_download.html 手动下载最新的开发工具版本来离线安装。下载完最新的ADT扩充套件后打开Eclipse开发环境找到屏幕上方的选单列选择[Help->SoftwareUpdates]选项这选项会带出一个新视窗。选择[AvailableSoftware]标签选择右方的[AddSite. . . ] (新增网站)按钮会弹出一个输入框。选择右上角的[Local. . . ]按钮并选取刚下载的Android最新开发工具档案选到之后按下"OK"按钮离开。在视窗中全选新出现项目的所有选项后按下右方的[Install]按钮。 Eclipse会花一点时间开始安装ADT扩充套件。
1.4.4下载并设定AndroidSDK
到google官网上下载最新版本的AndroidSDK并解压。打开偏好设定页面(Preference) 选择Android标签(请确认您已安装好ADT扩充套件 Android标签才会出现在偏好设定页面中) 在SDKLocation栏位按下"Browse. . . "键选择刚刚解压缩完的[android_sdk]文件夹所在地然后按下视窗右下角的应用(Apply)按钮。这样一来 AndroidSDK就算是设定好啦。
设定好AndroidSDK后就拥有了一个完整的Android开发环境。
5
欧路云(oulucloud) 商家在前面的文章中也有陆续介绍过几次,这不今天有看到商家新增加美国Cera线路的VPS主机,而且有提供全场八折优惠。按照最低套餐最低配置的折扣,月付VPS主机低至22元,还是比较便宜的。不过我们需要注意的是,欧路云是一家2021年新成立的国人主机商,据说是由深圳和香港的几名大佬创建。如果我们有介意新商家的话,选择的时候谨慎且月付即可,注意数据备份。商家目前主营高防VP...
80vps怎么样?80vps最近新上了香港服务器、美国cn2服务器,以及香港/日本/韩国/美国多ip站群服务器。80vps之前推荐的都是VPS主机内容,其实80VPS也有独立服务器业务,分布在中国香港、欧美、韩国、日本、美国等地区,可选CN2或直连优化线路。如80VPS香港独立服务器最低月付420元,美国CN2 GIA独服月付650元起,中国香港、日本、韩国、美国洛杉矶多IP站群服务器750元/月...
RAKsmart发布了新年钜惠活动,即日起到2月28日,商家每天推出限量服务器秒杀,美国服务器每月30美元起,新上了韩国服务器、GPU服务器、香港/日本/美国常规+站群服务器、1-10Gbps不限流量大带宽服务器等大量库存;VPS主机全场提供7折优惠码,同时针对部分特惠套餐无码直购每月仅1.99美元,支持使用PayPal或者支付宝等方式付款,有中英文网页及客服支持。爆款秒杀10台/天可选精品网/大...