开发体重指数计算器课程设计_图文

体重计算器  时间:2021-04-12  阅读:()

武汉理工大学《嵌入式系统开发实训》课程设计说明书

课程名称 嵌入式系统开发实训

题 目 基于安卓的体重指数计算器程序设计

学 院 计算机科学与技术

专 业 计算机科学与技术

班 级 计科1103班

姓 名 闫敏

指导教师 夏又新

2014年 12 月 28 日

武汉理工大学《嵌入式系统开发实训》课程设计说明书

课程设计任务书

学生姓名 闫敏 专业班级 计算机1103

指导教师 夏又新 工作单位 计算机学院

题 目: 基于An dr o 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.1 Android体系结构简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .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下载并设定Android SDK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .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

1

武汉理工大学《嵌入式系统开发实训》课程设计说明书

1.系统描述

1.1背景

很多国家及地区每年都会为当地的人口作身高和体重的统计。这些统计数据都可以转化成为BMI值从而再统计出当地人口的BMI值分布。根据这个分布地方健康政府可以推算出当地人口的过重及过轻指标。一般来说都会采用统计出来的平均BMI值及其标准差值再计算出其常态分布的最高5%及最低5%作为过重及过轻指标。我国在这个方面还没有引起太大的重视有的软件是只是功能单

一没有相应的指导意见。这个软件就根据这个缺点并加入一些人性化的建议说明而开发的。

2007年11月5日 Google与其他33家手机制造商(包含摩托罗拉、宏达电、三星、 LG) 、手机晶片供应商、软硬体供应商、 电信业者所联合组成的开放手持装置联盟(Open HandsetAlliance) 发布了名为[Android]的开放手机软硬体平台。参与开放手持装置联盟的这些厂商都会基于Android平台来开发新的手机业务。

2008年9月24日 T-Mobile首度公布第一台Android手机(G1)的细节 同日Google也释出了Andorid SDK 1.0 rc1。对应用程式开发者而言 1.0代表了开发者可以放心地使用API而不必再担心API有太大的变动。 G1在同年10月20正式发售。在发售前仅针对原T-Mobile用户的预购活动中 已经被预购了150万台。在10月21日 Open Handset Alliance公开了全部Android的原始码。从此开发者拥有了一个完全开放的手机平台。截止目前已经有多款使用Android的智能手机超过8万的应用程序。

在不到两年时间的发展中,美国市场研究公司NPD 2010年发布的统计数据显示第一季度期间 Android手机在美国市场的销量已超过iPhone 占据该季度美国智能手机总销量的28% iPhone相应的份额为21%。

2

武汉理工大学《嵌入式系统开发实训》课程设计说明书

1.2功能描述

该系统主要实现体重指数的计算通过身高和体重来计算体重指数指数公式为体重除以身高的平方 即为BMI的值如果大于25则为偏重如果小于20则体重偏瘦若在20到25之间则体重正常。

1.3开发环境介绍

Android是基于Linux内核的操作系统早期由Google开发后由开放手机联盟开发。它采用了软件堆层的架构主要分为三部分。底层以Linux内核工作为基础只提供基本功能其他的应用软件则由各公司自行开发以Java作为编写程序的一部分。另外为了推广此技术 Google和其它几十个手机公司建立了开放手机联盟。 目前最新版本为Android3.0。

1.3.1 Android体系结构简介

Android平台是一组面向移动设备的软件包它包含了一个操作系统、 中间件和关键应用程序。开发人员可以使用Android SDK(软件开发工具包)为这个平台创造应用程序。应用程序使用Java语言编写并在Dalvik之内运行。 Dalvik是一款量身定制的虚拟机它专为嵌入式应用设计运行在Linux内核上层。

1.3.2Android架构

下图显示了Android操作系统的主要组件。

3

武汉理工大学《嵌入式系统开发实训》课程设计说明书

图1 Android操作系统的主要组件

1.3.3应用框架

Android的核心应用程序就是依赖框架层次API开发的程序员们可以充分使用这些API。应用架构设计的初衷是简化组件复用机制任何应用都能发布自己的功能这些功能又可以被任何其他应用使用当然要受来自框架的强制安全规范的约束。和复用机制相同框架允许组件的更换。

1.3.4库

Android包含一套C/C++库 Android系统的各式组件都在使用。这些功能通过Android应用框架暴露给开发人员。Android的核心类库提供Java类库所提供的绝大部分功能。每个Android应用都运行在自己的进程上享有Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行 Dalvik被改写过。 Dalvik虚拟机执行的是Dalvik格式的可执行文件.dex该格式经过优

4

武汉理工大学《嵌入式系统开发实训》课程设计说明书

化 以降低内存耗用到最低。 Java编译器将Java源文件转为class文件 class文件又被内置的dx工具转化为dex格式文件这种文件在Dalvik虚拟机上注册并运行。在一些底层功能——比如线程和低内存管理方面 Dalvik虚拟机是依赖Linux内核的。

1.3.5应用

Android将预装一组核心应用程序包括email客户端、短信服务、 日历日程、地图服务、浏览器、联系人和其他应用程序。所有应用程序都是Java编程语言编写的。

编写Android的应用程序需要一套个人电脑系统。至于操作系统的部份几个主流操作系统都有支持。

支持的操作系统如下

Windows XP 、 Vista或Windows 7

Mac OS X 10.4.8或之后版本(适用x86架构的Intel Mac)

Linux(官方于Ubuntu 6. 10 Dapper Drake上测试)

1.4开发环境的安装

1.4.1下载Eclipse

首先需要下载Android开发时会用到的整合开发环境Eclipse。 目前Android应用程序只支持使用[Java]程式语言来编写Android应用程式。所以开发前必须先安装Java开发套件(Java Development Kit, JDK) 。各平台的JDK可至http://java. sun.com/下载。 Mac OS X作业系统则已内建JDK。安装好JDK后可以前往Eclipse网站下载Eclipse这个方便的整合开发环境。下载Eclipse时可以选[Eclipse IDE for Java Developers]或[Eclipse IDE for Java EEDevelopers]这两种版本 只有这两种版本才会预装Eclipse JDT扩充套件。我选择的是[Eclipse IDE for Java Developers]版本。下载完同样先解压缩到适当目录下。

5

武汉理工大学《嵌入式系统开发实训》课程设计说明书

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->Software Updates]选项这选项会带出一个新视窗。选择[Available Software]标签选择右方的[Add Site. . . ] (新增网站)按钮会弹出一个输入框。选择右上角的[Local. . . ]按钮并选取刚下载的Android最新开发工具档案选到之后按下"OK"按钮离开。在视窗中全选新出现项目的所有选项后按下右方的[Install]按钮。 Eclipse会花一点时间开始安装ADT扩充套件。

1.4.4下载并设定Android SDK

到google官网上下载最新版本的Android SDK并解压。打开偏好设定页面(Preference) 选择Android标签(请确认您已安装好ADT扩充套件 Android标签才会出现在偏好设定页面中) 在SDK Location栏位按下"Browse. . . "键选择刚刚解压缩完的[android_sdk]文件夹所在地然后按下视窗右下角的应用(Apply)按钮。这样一来 Android SDK就算是设定好啦。

设定好Android SDK后就拥有了一个完整的Android开发环境。

6

武汉理工大学《嵌入式系统开发实训》课程设计说明书

1.4.5创建名为BMI的工程

选择[File->New->Project] 会弹出[New Project]对话视窗将新工程名称命名为BMI。在[内容]栏里选择[在工作区域中建立新工程] (Create newproject in workspace) 。对"New Android Project"对话框中相应的属性中填入以下的值

名称 值

Project Name BMI

Application Name BMI

Package Name com.demo.android.bmi

Create Activity Bmi

Min SDK Version 3

填好值后按下[Finish]按钮就建立好新工程了。

2.需求分析

2.1功能需求

2.1.1用户触发事件

用户通过点击屏幕来实现与数据的交互。软件上的相关按钮是操作请求的输入设备屏幕是用于向用户输出信息的输出设备。

事件是来自人操作的重要的消息触发时间如表1所示体重指数计算器系统中可能发生的所有事件响应及其执行结果。

7

Linode十八周年及未来展望

这两天Linode发布了十八周年的博文和邮件,回顾了过去取得的成绩和对未来的展望。作为一家运营18年的VPS主机商,Linode无疑是有一些可取之处的,商家提供基于KVM架构的VPS主机,支持随时删除(按小时计费),可选包括美国、英国、新加坡、日本、印度、加拿大、德国等全球十多个数据中心,所有机器提供高出入网带宽,最低仅$5/月($0.0075/小时)。This month marks Linod...

TMThosting夏季促销:VPS月付7折,年付65折,独立服务器95折,西雅图机房

TMThosting发布了一个2021 Summer Sale活动,针对西雅图VPS主机提供月付7折优惠码,年付65折优惠码,独立服务器提供95折优惠码,本轮促销活动到7月25日。这是一家成立于2018年的国外主机商,主要提供VPS和独立服务器租用业务,数据中心包括美国西雅图和达拉斯,其中VPS基于KVM架构,都有提供免费的DDoS保护,支持选择Windows或者Linux操作系统。Budget ...

CloudCone 新增洛杉矶优化线路 年付17.99美元且简单线路测试

CloudCone 商家在以前的篇幅中也有多次介绍到,这个商家也蛮有意思的。以前一直只有洛杉矶MC机房,而且在功能上和Linode、DO、Vultr一样可以随时删除采用按时计费模式。但是,他们没有学到人家的精华部分,要这样的小时计费,一定要机房多才有优势,否则压根没有多大用途。这不最近CloudCone商家有点小变化,有新人洛杉矶优化线路,具体是什么优化的等会我测试看看线路。内存CPU硬盘流量价格...

体重计算器为你推荐
操作http现有新的ios更新可用请从ios14be苹果手机怎么更新到14美要求解锁iPhone如何看美版苹果是有锁无锁360公司迁至天津公司名字变更,以前在北京,现在在天津,跨地区了怎么弄?人人视频总部基地落户重庆迁户口入重庆面板flash平阴县教育和体育局下属锦东小学教学设备采购项目竞争性磋商文件密码cuteftp加多宝和王老吉王老吉和加多宝是什么关系即时通请问有没有人知道即时通是什么?怎样先可以开??
黑龙江域名注册 到期域名查询 linuxapache虚拟主机 谷歌域名邮箱 独享100m jsp主机 站群服务器 rackspace 圣迭戈 128m内存 20g硬盘 网站被封 php免费空间 777te dux admit的用法 老左来了 卡巴斯基试用版 isp服务商 天翼云盘 更多