




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实实 训训 报报 告告 实训项目名称 基于 Android 计算器的开发与测试 二 级 学 院 信息工程学院 专 业 班 级 11 级 姓 名 学 号 日 期 2014 11 19 项目 名称 基于安卓计算器的开发与测试 地点 教 13 603 报 告 内 容 在本报告中 我们主要介绍了国内目前手机系统和软件的现状和发展 针对这方面我们设计了基于 Android 计算器 报告内容大致分为三个部分 第一部分首先介绍了需求分析 其中介绍了计算器最基本的功能 之后 还有一些按键的设置以及计算器的基本功能 第二部分我们介绍了关于计算器的总体设计和详细设计其中我们用了两 个流程图来表示 分别是程序设计流程图和软件设计流程图 然后还包含了 计算器模块的设计 第三部分为计算器的测试部分 其中我们对计算器进行了多方的测试 此外还有测试用例图 教师评语 成绩 教师签名 摘 要 Android 是当今最重要的手机开发平台之一 它是建立在 Java 基础之上的 能 够迅速建立手机软件的解决方案 Android 的功能十分强大 成为当今软件行业的 一股新兴力量 Android 基于 Linux 平台 由操作系统 中间件 用户界面和应用 软件组成 具有以下 5 个特点 开放性 应用程序无界限 应用程序是在平等条件 下创建的 应用程序可以轻松的嵌入网络 应用程序可以并行运行 而简单计算器 又是手机上必备的小程序 所以此次创新实践很有意义 并且具有很强的使用性 关键字关键字 计算器计算器 AndroidAndroid 移动设备移动设备 目录目录 1 绪论 5 1 1 研究背景 5 2 游戏系统开发平台 6 3 系统分析与设计 7 3 1 可行性研究 7 3 2 系统的需求分析 7 3 3 系统的优势 8 3 4 系统的流程 8 4 模板设计与实现 9 5 测试用列和结果 12 5 1 测试用列 12 5 2 测试用列展示图 12 6 小结 15 参考文献 16 附录 17 1 绪论绪论 1 1研究背景研究背景 1 计算器背景 目前手机可以说是普及率非常高的电子设备了 由于其便于携带 使用方 便 资费适中等等原因 现在手机已经在一定程度开始代替固定电话的通话功 能 以及一些原来电脑软件上的功能了 手机上的软件也随着手机的发展变得 丰富起来了 时至今日已经出现了很多专门制作手机软件的公司 虽然制作的 多是游戏软件 但是一些辅助性的工具软件也有了很多 我们在此次系统中所做 的工作主要是设计整个系统以及利用编程语言实现整个系统 使系统能够正确 的运行计算功能 2 Android 系统简介 Android 系统构架简介 Android 是一个基于 Linux V2 6 内核的交互性操作环境 同时它也是一个 分层系统 Android 系统架构显示如下图 1 1 图图 1 1 系统架构图系统架构图 应用层由所有的 Android 应用程序组成 其中包括电子邮件客户端 SMS 程序 地图 浏览器 联系人及其他 所有的应用程序都是用 Java 编程语言编 写的 1 Activity 顾名思义 Activity 就是活动 应用程序必须至少包含一 个 Activity Activity 提供了一个虚拟的用户接口 每一个 Activity 都有一个默 认的窗口可以用来显示用户界面 一般情况下 它是全屏的窗口 例如 影音 播放软件的每个用户界面就是 Activity 2 Service Service 与 Activity 的主要区别在于 Service 是在后台 活动的 它没有用户界面 典型的应用场景是 用户选择了一个播放列表开始 播放后 离开了该用户界面 Activity 如果仍然希望歌曲不会暂停 就可以用 Service 去调用播放器 而不是在 Activity 中调用播放器 3 Intent 在 Android 中 每一个行为都可以抽象为一个 Intent 可 以简单地把 Intent 理解为一个包含了数据的消息 Intent 可以用于启动一个 Act ivity 或者 Service 可以用于进程间的通信 事实上 应用程序的启动也是通过 Intent 实现的 4 Content providers Android 平台内置了一套 SQLite 数据储存机制 并 包含一系列管理 SQLite Database 的相关方法 在应用程序中 可以通过 Content prov iders 访问数据库 每个 Content provider 都定义了一系列的方法用 于访问它对应的数据库 应用程序在新建数据库时也可以定义相应的 Con tent provider 用于向其他应用程序共享数据 一般情况下 应用程序不直接调用 Content provider 定义的函数 而是通过 ContentResolver 间接调用 2 游戏系统开发平台游戏系统开发平台 采用 Eclipse 开发工具 在 Windows 7 下进行 基于 Android 4 2 2 操作 系统 使用的语言是 Java 语言 环境搭建 1 JDK 安装 2 Eclipse 安装 3 Android SDK 安装 4 ADT 安装创建 AVD JDK Java Development Kit 是 Sun Microsystems 针对 Java 开发员的产 品 自从 Java 诞生以来 JDK 已经成为最广泛的 Java SDK JDK 是整个 Java 的核心内容 包括了 Java 运行环境 Java 工具和 Java 基础类库三部分 从 Sun 的 JDK1 5 开始 提供了一些非常使用的功能 其版本也不断更新 运行效 率得到了非常大的提高 Eclipse 是一个开放源代码的 基于 Java 的可扩展开发平台 就其本身而 言 它只是一个框架和一组服务 用于通过插件组建构建开发环境 Eclipse 附带了一个标准的插件集 包括 Java 开发工具 Java Development Kit JDK Android SDK 即软件开发工具包 software development kit 被软件开 发工程师用于为特定的软件包 软件架构 硬件平台 操作系统等建立应用软 件工具的集合 因此 Android SDK 是 Android 专属的开发工具包 其授权协议 为 Apache 开发语言为 Java 需要 Android 操作系统的支持 2 3 系统分析与设计系统分析与设计 3 1可行性研究可行性研究 可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究 的过程 实际上是一次大大简化系统分析和系统设计的过程 所以 进行可执 行性的分析是非常必要的 也是很重要的 经过最初的设计目标和进行的实时 调查得出以下四点的可行性分析 1 技术可行性 Eclipse Android ADT 的技术已经较为成熟 通过 SUN 公司 现被 ORCEL 公司收购 推出的跨平台 动态的 JAVA 语言进行开 发 2 运行可行性 该系统需要 Android 虚拟机环境 Eclipse 中安装 ADT DDMS 等 Google Android 相关插件 其运行环境已经相当稳定 它功能 丰富 包括了完备的 Android 程序的编码 调试 测试和发布功能 其中支持 所有 Android 应用开发相关技术 包括 SQLite Skia 3D 制作 Android XML 能够很好的发布 Android 的应用程序 APK 包 3 法律可行性 因为是自主开发设计 所以不会构成侵权 在法律上是 可行的 通过以上的可行性分析 将采用 Eclipse Android ADT DDMS 技术 运用 JAVA 语言进行系统的开发 3 2系统的需求分析系统的需求分析 根据分析需求 这个系统必须实现以下的功能 1 实现简单的数字计算功能 作为计算器 其核心就是加减乘除 2 能够在手机里面以良好的界面 简单计算器能够给予用户良好的人机互动界面 3 3系统的优势系统的优势 Android 是以 Linux 为核心的手机操作平台 作为一款开放式的操作系统 随着 Android 的快速发展 如今已允许开发者使用多种编程语言来开发 Android 应用程序 而不再是以前只能使用 Java 开发 Android 应用程序的单一 局面 因而受到众多开发者的欢迎 成为真正意义上的开放式操作系统 3 4 系统的流程系统的流程 本程序的流程是一个开机画面 开机画面之后就是计算机的主页面了所有 这个简单程序的流程图如图 3 1 所示 开始 显示计算机界面 输入数值 判断选项 加减 乘 除clear 结束 选择功能键 图图 3 13 1 流程图流程图 4 模板设计与实现模板设计与实现 4 1 计算模块详细设计计算模块详细设计 系统要完成整个的计算器的计算功能 那么计算模块就是整个系统的重点 模块 没有计算模块系统就不能顺利的完成计算 就无法达到用户的要求 所 以计算模块的设计也是本次系统设计中的重点 系统想要能在屏幕上显示出计算器的样子要有整体的布局 在本模块中要 完成布局的具体设计 使用户能够看到整个计算器的画面 同时系统想完成计 算功能必须要处理用户的输入 当输入模块的监听传到计算模块中时 计算模 块就要根据相应的方法进行进一步的处理 这部分主要是对输入进行的逻辑判 断 基本会通过 if else 来实现逻辑判断 4 2 用户界面设计用户界面设计 界面设计应该尽量简洁而美观 应该具有良好的交互性 当然 我们每个 人可以根据自己的喜好来进行设计 根据我个人的喜好 我最终设计出来的计 算器界面如图 4 1 所示 图图 4 1 界面图界面图 部分代码 4 3 计算模块设计的实现计算模块设计的实现 计算模块则主要描述了计算器的整体 实现了计算器的界面 定义了用 户单击的处理办法 通过定义的处理办法来完成用户的操作命令 实现用户 的计算要求 这些计算要求包括了数值的输入 小数点的输入 正负号的输 入 记忆相关功能的完成 加 减 乘 除等各种计算功能的完成 运算符 的替换 初始化系统等等 部分代码 private class CommandAction implements OnClickListener Override public void onClick View view Button btn Button view String inputCommand String btn getText if firstFlag 首次输入 的情况 if inputCommand equals editText setText 显示区域的内容设置为 firstFlag false 改变首次输入的标记 else if clearFlag 如果 flag false 不需要清空显示区的值 就调 用方法计算 jsp Double parseDouble editText getText toString 保 存显示区域的值 并计算 保存你点击的运算符 lastCommand inputCommand clearFlag true 因为我这里已经输入过运算符 加 减 乘 除等各种计算功能的实现 private void jsp double x if lastCommand equals result x else if lastCommand equals result x else if lastCommand equals result x else if lastCommand equals result x else if lastCommand equals result x editText setText result 5 5 测试用列和结果测试用列和结果 5 15 1 测试用列测试用列 通过以下的测试用例进行对游戏各功能模块的测试并加以修改 如表 5 1 所示 测试编号测试输入期望结果实际结果 11 23 03 0 21 22 02 0 31 20 50 5 41 0 无结果错误 5 1 3 4 0 2 0 6 2 程序错误程序错误 表表 5 15 1 测试用例表测试用例表 5 25 2 测试用列展示图测试用列展示图 1 测试 1 2 时的状态如图 5 2 所示 图图 5 25 2 测试结果图测试结果图 2 测试 1 2 时如图 5 3 所示 图图 5 35 3 测试结果图测试结果图 3 测试 1 2 时如图 5 4 所示 图图 5 45 4 测试结果图测试结果图 4 测试 1 0 时如图 5 5 所示 图图 5 55 5 测试结果图测试结果图 5 测试 1 3 如图 5 6 所示 图图 5 65 6 测试结果图测试结果图 6 测试输入 2 时如图 5 7 所示 图图 5 75 7 测试结果图测试结果图 6 小结小结 这次项目 android 计算器项目设计是在 eclipse 平台下设计 到现在为止 该系统的功能基本符合了普通计算器的要求 整个系统界面简单明了 使用起 来十分方便 具有普通计算器的基本功能 同时拓展了一些普通计算器上没有 的部分科学计算功能 在整个开发过程中 从需求分析到总体架构的构思 到 最后代码的编写我投入了大量的时间和精力 对系统中的每个功能都进行了反 复的调试 修改 因为这是我是第一次系统性的进行软件的开发 不论是在知 识层面 开发平台的使用层面还是经验方面都有着很大的欠缺和不足 因此本 软件难免会有一些功能不完善 界面不美观等一些不尽如人意的地方 但是再 短短一个星期的时间内 我已经进行了很大的努力 通过这个 android 计算器项目设计 我不经巩固了我们在书本上学到和平时 老师传授的知识 而且还学到了许多书本上学不到的知识 并运用了网络这个 平台查询一些不明白的知识点 指导老师在我软件代码编写和后期软件调试期 间 给我很大的帮助 要谢谢各位帮过我的老师和同学 这次的实验让我对我 的学过的知识有了深一步的了解 参考文献 1 刘敏 移动终端的 Android 移植与应用程序设计 D 西安电子科技大学 2011 2 王蕾 哈尔滨招行 Android 手机银行汇率换算模块的设计与实现 D 吉林大学 2011 3 施金兰 基于 Android 平台的网络共享研究与实现 D 华东师范大学 2011 4 赵建勋 基于 Android 平台的移动位置服务的开发与实现 J 现代商贸工业 2010 20 5 李林涛 朱珊虹 基于 Android 系统的手机游戏黑白棋的设计与实现 J 新乡学院学 报 自然科学版 2011 03 6 丛秋波 用于 Android 手机操作系统的视频引擎 J 电子设计技术 2010 07 7 王丰 付明栋 冯海亮 施玉海 智能终端图形用户界面设计与实现 J 广播电视信息 2011 08 8 温敏 艾丽蓉 王志国 Android 智能手机系统中文件实时监控的研究与实现 J 科学 技术与工程 2009 07 9 刘牛 基于 Android 平台的数字电视机顶盒模拟器的研究与开发 D 兰州大学 2012 10 王康 Android RIL 研究及其在无线通讯模块上的实现 D 太原科技大学 2012 附录 附录 package com example import android app Activity import android os Bundle import android view View import android view View OnClickListener import android widget Button import android widget EditText public class MainActivity extends Activity private Button btnNum new Button 11 数值按钮 private Button btnCommand new Button 5 符号按钮 private EditText editText null 显示区域 private Button btnClear null clear 按钮 private String lastCommand 用于保存运算符 private boolean clearFlag 用于判断是否清空显示区域的值 true 需要 false 不需要 private boolean firstFlag 用于判断是否是首次输入 true 首次 false 不是首次 private double result 计算结果 public MainActivity 初始化各项值 result 0 x 的值 firstFlag true 是首次运算 clearFlag false 不需要清空 lastCommand 运算符 Override public void onCreate Bundle savedInstanceState super onCreate savedInstanceState setContentView R layout activity main 获取运算符 btnCommand 0 Button findViewById R id add btnCommand 1 Button findViewById R id subtract btnCommand 2 Button findViewById R id multiply btnCommand 3 Button findViewById R id divide btnCommand 4 Button findViewById R id equal 获取数字 btnNum 0 Button findViewById R id num0 btnNum 1 Button findViewById R id num1 btnNum 2 Button findViewById R id num2 btnNum 3 Button findViewById R id num3 btnNum 4 Button findViewById R id num4 btnNum 5 Button findViewById R id num5 btnNum 6 Button findViewById R id num6 btnNum 7 Button findViewById R id num7 btnNum 8 Button findViewById R id num8 btnNum 9 Button findViewById R id num9 btnNum 10 Button findViewById R id point 初始化显示结果区域 editText EditText findViewById R id result editText setText 0 0 实例化监听器对象 NumberAction na new NumberAction CommandAction ca new CommandAction for Button bc btnCommand bc setOnClickListener ca for Button bc btnNum bc setOnClickListener na clear 按钮的动作 btnClear Button findViewById R id clear btnClear setOnClickListener new OnClickListener Override public void onClick View view editText setText 0 0 初始化各项值 result 0 x 的值 firstFlag true 是首次运算 clearFlag false 不需要清空 lastCommand 运算符 数字按钮监听器 private class NumberAction implements OnClickListener Override public void onClick View view Button btn Button view String input btn getText toString if firstFlag 首次输入 一上就 就什么也不做 if input equals return 如果是 0 0 的话 就清空 if editText getText toString equals 0 0 editText setText firstFlag false 改变是否首次输入的标记值 else String editTextStr editText getText toString 判断显示区域的值里面是否已经有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 管改造建设方案范本
- 客户管理岗年度工作总结
- 新教师培训常规培训
- 荷尔蒙培训课件
- 培训父母的课件
- 改善改良制度培训
- 培训阶段性汇报
- 幼儿园老师安全知识培训内容
- 医生职称评定证明材料-临床实践证明
- 博士考试面试题库及答案
- 2024年“学宪法、讲宪法”应知应会题库
- DL∕T 5372-2017 水电水利工程金属结构与机电设备安装安全技术规程
- 平安产险建筑工程团体意外伤害保险条款
- 基于人工智能的药物不良反应预测与预警系统
- 指导青年教师赛课工作方案
- 胃镜室进修汇报
- 农村特岗教师聘用合同书
- 10.1 抵制校园欺凌和暴力(高效教案)-【中职专用】中职思想政治《心理健康与职业生涯》(高教版2023·基础模块)
- 大学语文(第三版)课件 渔父
- 队列训练齐步的行进与立定
- 人教版小学六年级数学上册单元课后练习题 全册
评论
0/150
提交评论