




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 安 卓 课 程 设 计 班 级 09 级计算机二班 学 号 姓 名 郭丹 2 目录目录 第 1 章 安卓应用程序开发背景 2 1 1 开发背景 2 1 2 开发环境 3 第 2 章 安卓应用程序开发理论与方法 3 第 3 章 计算器 应用程序的设计与实现 5 3 1 拟解决的问题及目标 5 3 2 总体设计 6 3 3 详细设计与编码实现 6 第 4 章 总结 15 3 第 1 章 安卓应用程序开发背景 1 1 开发背景 1 智能手机的市场 1 功能多样化的智能手机挑战全球 PC 出货量 移动互联网时代的来临 直接促进了搭载智能操作系统 具有强大扩展性 的智能手机 平板电脑等移动终端产业的蓬勃发展 来自美国最大的风险投资 机构 KPCB 的数据显示 全球智能手机出货量正在以远高于台式电脑 笔记本电 脑出货量的速度快速增长 该机构预计 2011 年全球智能手机出货量将达到 4 13 亿 超过台式电脑与笔记本电脑出货量的总和 2 智能手机的用户使用数量正在高速增长 据市场调研机构 Gartner 信息 2011 年全球智能手机的总出货量将会达到 4 68 亿部 相比 2010 年实现了 57 7 的 增长 而谷歌 Android 操作系统将会在今年之内成为全球最大的智能手机操作 系统 另外 全球市场调研机构 IDC 预计未来 5 年中国手机市场上 智能手机 替代传统功能手机的趋势将日益明显 未来 5 年中国智能手机市场复合增长率 将达到 34 1 人们对 IT 设备智能化的向往是这一增长率能够实现的主要因素 并且与其他国家相比 中国智能手机市场的发展空间更加广阔 3 操作系统格局预测 Android 有望成为智能手机市场主导力量 搭载 Android 操作系统的智能手机目前已经成为市场上最炙手可热的智能 产品 来自美国市场研究机构 Gartner 的数据显示 Android 操作系统所占的 市场份额从 2008 年的 0 5 急剧增长到 2011 年的 15 94 开放的源代码和零成 本已经让 Android 在全世界范围内受到青睐并迅速获得了主要手机厂商和数百 万软件开发者的支持 Gartner 预计 未来 Android 系统的市场份额有望超过 其他操作系统 从而成为全球第一大智能手机操作系统 2 安卓手机介绍 安卓手机指的是用 Android 操作系统的手机 安卓 Android 是基于 Linux 内核的操作系统 是 Google 公司在 2007 年 11 月 5 日公布的手机操作系统 同样都是手机上面用的智能系统 安卓的系统是新生系统 界面更为华丽 4 开源性更强 当然因为是新生系统 所以在第三方软件方面暂时还不太多 因 此 安卓应用程序的需求还是很迫切的 3 软件人才需求 据业内统计 目前国内的 Android 研发人才缺口至少 30 万 由于目前 Android 技术较新 无论是相关书籍 培训还是大学教育 都处于初级阶段 因此 Android 人才短期将供不应求 从长期来看 随着各种移动应用和手机游 戏等内容需求日益增加 也将激励大中小型手机应用开发商加大对 Android 应 用的开发力度 因此 Android 人才的就业前景也非常广泛 综上所述 在这样的背景下 安卓有很强的生命力 同时 作为一个新生 的系统 其应用程序目前并不多 安卓应用程序的需求还是很迫切的 安卓研 发人才的缺口还很大 这些都促进了我们学习开发安卓应用程序 1 2 开发环境 安卓应用程序开发环境如下 JDK 5 or JDK 6 JRE alone is not sufficient Eclipse 3 3 Europa 3 4 Ganymede Android SDK ADT 0 8 0 Eclipse 安装 ADT 插件 第 2 章 安卓应用程序开发理论与方法 1 Activity 的相关知识 简单理解 Activity 代表一个用户所能看到的屏幕 Activity 主要是处理 一个应用的整体性工作 Activity 是最基本的 Android 应用程序组件 应用程 序中 一个活动通常就是一个单独的屏幕 每一个活动都被实现为一个独立的 类 并且从活动基类中继承而来 活动类将会显示由视图控件组成的用户接口 并对事件做出响应 大多数的应用是由多个屏幕显示组成 因而要用到多个 Activity 5 1 Activity 的相关方法及相关函数 A void onCreate Bundle 首次启动时调用 接受参数 Null or savedInstanceState 保存的以前 某些状态信息 B void onStart 说明了将要显示给用户的活动 C void onRestart 将处于停止状态的活动重新显示给用户 D void onResume 用户可以开始与活动进行交互时调用 如动画播放和音乐播放 E void onPause 活动将要进入后台运行时调用 此时前台启动了另一个活动 F void onStop 不需要某个活动了 就调用 G void onDestroy 销毁活动 2 多个 Activity 之间的跳转 通过 Intent 类实现屏幕之间的跳转 包括没有参数关系和需要传递参数 两种情况 3 两个 Activity 之间进行数据交换 startActivity 只有 Intent 一个参数 public void startSubActivity Intent intent int requestCode requestCode 用来标识某一个调用 一般定义一个常量 传过去 函数原型为 public Intent setData ContentURI data 然 后 参数带到新的 Activity 后 同样用 Activity getIntent 函数可 得到当前过来的 Intent 对象 然后用 getData 就取到参数了 传回来 函数原型为 public final void setResult int resultCode String data 2 Intent 的相关知识 6 Intent 是描述应用想要做什么 Android 使用了 Intent 这个特殊类 实现在屏幕与屏幕之间移动 Intent 数据结构两个最重要的部分是动作和动作 对应的数据 Intent 类绑定一次操作 它负责携带这次操作所需要的数据以及 操作的类型等 3 Layout 用于用户界面设计 包含 AbsoluteLayout FrameLayout GridView LinearLayout ListLayout RadioGroup TableLayout 等等 在本程序中用到的有 1 线性布局 LinearLayout 垂直 android orientation vertical 水平 android orientation horizontal 2 相对布局 RelativeLayout 让子元素指定它们相对于其他元素的位置 通过 ID 来指定 或相对 于父布局对象 在 RelativeLayout 布局里的控件包含丰富的排列属性 Layout above 控件在指定控件的上方 Layout below 控件在指定控件的下方 Layout to left of 第 3 章 计算器 应用程序的设计与实现 3 1 拟解决的问题及目标 本计算器程序要解决日常生活中常见的基本数据计算问题 程序要实现的 目标有如下几个 1 要实现基本的加 减 乘 除四则运算 2 可以实现在前一步计算结果上继续作加 减 乘 除 即连加 减 乘 除 3 有清空功能 即清除所有数据 重新开始计算 4 可实现基本的三角函数的计算 如 正弦 余弦 正切 余切 5 可实现一些特殊运算 如 平方 立方 开方 求对数等 7 3 2 总体设计 1 系统的软件结构图 计算器 基本加减 乘除运算 其他运算 三角函数 运算 加 法 减 法 乘 法 除 法 正 弦 余 切 正 切 余 弦 平 方 开 方 立 方 对 数 图 3 1 2 功能的操作流程 首先用户根据自己的实际需要选择计算的类型 然后进入不同的计算类型 再进行要执行的运算 输入数据 选择运算符号 即可得到结果 3 3 详细设计与编码实现 1 功能选择界面 图 3 2 为系统主界面 用户可以根据需要点击不同按钮进入不同功能的子 界面 亦可以点击退出按钮退出本程序 8 图 3 2 本界面用 LinearLayout 来布局 主要用到的控件是 Button 页面的跳转 是通过 intent 来是实现的 跳转的主要代码如下 public void onClick View v Button btn Button v switch btn getId case R id button1 Intent intent new Intent intent setClass mycalActivity this secondactivity class startActivity intent break case R id button2 Intent intent new Intent intent setClass mycalActivity this thirdactivity class startActivity intent 9 break case R id button3 Intent intent new Intent intent setClass mycalActivity this forthactivity class startActivity intent break case R id button4 finish 2 基本加减乘除界面 图 3 3 为加基本减乘除界面 用户在文本框中输入参加运算的数据 并 点击要进行的运算符号 然后点击等号之后 将在等号下方显示结果处显示出 计算结果 点击 clear 按钮 可以将两个文本框中的内容以及显示的结果一起 清空 用户可以输入新的数据计算 在文本框中输入时可以用图右侧的硬键盘 或者是手机自带的软键盘 10 图 3 3 示例如下 1 用户要计算 1 23 2 16 在文本框 1 中输入 1 23 点击 再在文本框 2 中输入 2 16 点击 就可以显示出计算结果 3 39 如下 图 3 4 2 计算 1 0 32 如图 3 5 图 3 5 11 3 计算 3 24 0 25 如图 3 6 所示 图 3 6 4 计算 55 4 结果为 13 75 如下图所示 图 3 7 12 5 计算 1 6 如下图所示 由图 3 8 可以看出 当除不尽时本计算器保留到 8 位小数 并且最后一位采用了四舍五入的方法 比较科学 准确 图 3 8 6 点击 clear 之后全部清空 13 图 3 9 具体的实现 主要的思路是 用户先输第一个数 然后点击运算符号 在 程序中监听按钮的点击 如果点击了 中某一按钮 这时 就取 editText1 中的值 通过 myeditText1 editText1 getText toString 实现 为了参与运算 需要把字符串类型转换为浮点型 并将其值赋给变量 a 代码 为 a Float parseFloat myeditText1 用 flag 的不同值记录用户点击的不同 的运算按钮 当用户点击 时 就将 editText2 中的内容取出 也同样转化 为数值 并用 b 记录 然后判断 flag 的值即可知道对应应采取哪种计算 进而 算出最终结果 并用 textView1 显示出计算结果 清空 的实现是使对应控件 的内容取空即可 核心代码如下 private OnClickListener listener new OnClickListener String myeditText1 String myeditText2 float a 0 int flag 0 float b 0 float result public void onClick View v Button btn Button v switch btn getId case R id button1 myeditText1 editText1 getText toString a Float parseFloat myeditText1 flag 1 break 14 case R id button2 myeditText1 editText1 getText toString a Float parseFloat myeditText1 flag 2 break case R id button3 myeditText1 editText1 getText toString a Float parseFloat myeditText1 flag 3 break case R id button4 myeditText1 editText1 getText toString a Float parseFloat myeditText1 flag 4 break case R id button5 myeditText2 editText2 getText toString b Float parseFloat myeditText2 if flag 1 result a b else if flag 2 result a b else if flag 3 result a b else result a b String s 显示结果 s result textView1 setText s 15 break case R id button6 editText1 setText editText2 setText textView1 setText 显示结果 break 3 三角函数运算界面 图 3 10 为三角函数运算界面 用户在文本框中输入参与计算的数据 然后选择点击要进行的运算类型 这时在显示结果处就会显示计算结果 例如 要计算 sin30 度 先在文本框中输入 30 然后点击 sin 按钮 这时就会显示结 果为 0 5 同理 可进行其他计算 图 3 10 4 其他运算界面 图 3 11 为其他运算界面 目前可实现平方 立方 开方 求以 10 为 底的对数四种运算 由于时间有限 这个界面目前功能并不完善 暂时实现四 种运算 不过 基于本计算器程序的设计理念 本界面主要实现一些其他运算 包括一些特殊运算 在今后 这个界面可以修改和扩充 以至拥有更加完善丰 16 富的计算功能 在现有的界面上的操作流程如下 用户在文本框中输入要进行 运算的数据 然后选择点击运算按钮 即可显示运算结果 如输入 0 5 点击 平方 即显示结果 0 25 操作方便 图 3 11 第 4 章 总结 在本次安卓应用程序开发之中 我收获很多 现总结如下 安卓设计开发过程初期 我打算设计制作一个计算器 但是 刚开始并不 能预测难度 不知道在短期内能否很好的完成 于是我的想法是 先实现基本 的加 减 乘 除四则运算 然后在此基础上进一步完善丰富其运算功能 首 先遇到的问题便是要不要做一个数字键盘 刚开始也试着做了一个键盘 是用 button做的 需要很好的布局 但是每当扩充一种功能时 为了使界面整体美 观 甚至都要重新设计 很麻烦 后来候突然想到手机有硬键盘 也有自带的 软键盘 何不运算的时候直接调出已有的软键盘 这样 根本没有什么必要自 己做键盘了 而只需做出运算的按钮即可了 由于当时的目标只是实现加减乘 除 因此设计的界面是用两个文本框输入两个数据 然后有 四个按 钮供选择 又加一个 按钮用于触发显示结果 界面很简单 使用很方便 然后就是才用合适的算法来实现功能 经过思考和多次修改 最后确定了一种 比较简明的算法实现 基本加减乘除功能已经实现 但是计算器的功能过于简单了 接下来便是 17 扩充功能 我首先想到的是需要能实现三角函数运算 常见的平方 开方等运 算 但是我遇到了困难 由于刚开始设计的加减乘除运算都是二元运算 因此 界面设计的是在两个文本框中输入两个数 但是三角函数计算 平方开方计算 都是一元运算 参加运算的数据都只有一个 因而 在原界面上直接扩充并不 合适 两个文本框成了扩充的限制 后来经过思考 决定将这些扩充的功能做 到别的界面上 与已有的界面相独立 重新设计 这样只需将运算分类 再做 一个功能选择的界面 点击不同的运算类别进入不同的运算界面即可 这样这 个问题便得到了很好的解决 但是这次设计却给了我很大的教训 开发应用软 件的初期设计很重要 不仅要实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区书记发言稿
- 规划建设管理培训大纲
- 教师语言行为培训
- 脚手架安全培训
- 2025版建筑工程用方木材料采购合同
- 2025版LED户外广告新媒体营销活动策划与执行合同
- 2025版钢结构场地租赁合同(含仓储、装卸及搬运服务)
- 2025版电商平台电商人员保密协议与竞业禁止合同
- 2025版木材行业信息化建设与技术支持合同
- 二零二五年度商铺租赁合同范本解读
- 小学生血液知识讲座课件
- 总代理授权书
- 医院病假证明书模板
- 医疗器械售后服务能力证明资料模板
- 肥胖患者麻醉管理专家共识2023年版中国麻醉学指南与专家共识
- (正式版)HGT 4144-2024 工业用二正丁胺
- 2020混凝土结构加固修复用聚合物水泥砂浆施工及验收规程
- YY/T 0489-2023一次性使用无菌引流导管及辅助器械
- 电致发光缺陷检测仪校准规范
- 乡村教师的心理健康维护
- 医用耗材赠送协议
评论
0/150
提交评论