




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京晓庄学院 android 课程设计Android 课程设计基于 Android 计算器功能的实现所在系(院): 学 生 姓 名: 指 导 教 师: 研究起止日期: 南京晓庄学院 android 课程设计目 录1、软件产品介绍12、软件开发环境23、软件功能说明24、程序流程图25、软件介面及程序主要代码46、设计总结 .10南京晓庄学院 android 课程设计0基于 Android 计算器相关技术概述1、 软件产品介绍随着移动通信技术和网络技术的迅速发展,手机系统发生了巨大的变化,从进行简单通话功能的非智能手机到现在集上网、聊天、收发邮件、视屏电话会议等各种服务于娱乐为一身的智能手机系统。由 Google 公司牵头众多实力雄厚的软硬件厂商加盟成立了 OMS 联盟,并推出的 Android 平台手机系统。作为时代的新生儿,Android 手机操作平台有着得天独厚的优势广阔的发展前景。本文正是基于 Android 平台开发的计算器。计算器作为现在人们日常生活中常用的一种工具已经可以说是人们日常生活中必不可少的工具了。整个程序基于 android 技术开发,出总体模块外主要分为输入模块、显示模块以及计算模块(包括一些其他功能)这三大部分。在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以及显示最终的计算结果,计算模块部分负责进行数据的运算以及一些其他的功能。下面较为详细的做了说明。具体的说,总体模块的作用主要是生成应用程序的主类,控制应用程序的生命周期。输入模块 主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机按键动作以及用指针事件处理方法处理触屏的单击动作(以松开按键为准) 。同时提供了较为直观的键盘图形用户界面。显示模块 描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时还负责显示一些其他的信息。计算模块 则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除、等各种计算功能以及清零的功能。用系统框图来表示即如图 2-0。图 2-0 系统框图总体系统输入模块 显示模块 计算模块南京晓庄学院 android 课程设计12、 软件开发环境论文主要阐述以面向对象的程序开发语言 eclipse 为开发工具, 设计并实现基于 Android 的计算器。步骤 1 安装 JDK步骤 2 安装 Tomcat步骤 3 安装 Android SDK步骤 4 安装 Eclipse步骤 5 安装 Eclipse 的 ADT 插件 步骤 6 Eclipse 的 SDK 配置步骤 7 建立 AVD 虚拟机3、 软件功能说明系统包括普通计算功能,基本的加减乘除,小数运算以及清零功能。如图 2-1。如图 2-1 功能图4、 程序流程图知道了系统的功能以后,我们通过 main.xml 来建立显示界面,完成后系统开始监听用户的按键输入,每次输入系统都会判断一次用户输入的类型,是数字还是运算符号或者是清除,判断完后分成不同类型如数字,符号,基本运算等等进行进一步的处理,根据用户的要求继续进行下一步的操作,最后计算出最终结果并显示在显示区。系统流程图如图 2-2 所示:除法(/)手机计算器加法(+) 减法(-)乘法(*)清零 C对任意两个数据进行相加的操作对任意两个数据进行相减的操作对任意两个数相乘的操作任意两个数相除的操作,但要符合运算逻辑清除已经被记忆的数据南京晓庄学院 android 课程设计2开始监听用户按键输入判断是否是清零操作按照用户的要求进行计算系统重置判断是否是需要结算结果在显示区显示计算出的结果图 2-2 程序流程图是是否否南京晓庄学院 android 课程设计35、 软件介面及程序主要代码1:(1)XML 文件生成Main.xml 的代码:根据 MVC 原则,UI 应该与程序逻辑相分离,因此,在 XML 中定义 UI 结构是强烈推荐的。常用的方式是用图形化的方式来编写布局 Layout,这些布局保存在 XML 文件中,然后编译成资源,在程序中 Activity 通过 setContentView()方法来加载,然后通过 findViewByld()方式来获得每一个界面组件的引用。实现过程及步骤。在 layout 文件夹下定义自己的 XML 页面。如计算器属性界面的实现如下所示部分代码LinearLayout 是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的 widgets 或者其他的 containers,超过边界时,某些控件将缺失或消失。android:id=“+id/txt_input“ / 定义了布局的变量名称为 txt_input,会自动写进 R.java; 在 R.Java 文件中会生成内部类 id,可在主程序里面调用 R.id.txt_input 来获取这个布局变量实体。android:orientation=“vertical“ /这个布局是垂直布局;(水平 horizontal)android:layout_width=“fill_parent“ /设置一个顶部布局或控件强制性让它布满整个屏幕;(“wrap_content“设置一个顶部布局或控件强制性让它布满整个屏幕)android:gravity=“right“ /限定里面的内容向右对齐;(android:layout_gravity=“right“ 表示在界面上的位置向右对齐)用 XML 实现用户界面具有以下优点: a)XML 文件结构清晰,易于扩展,系统可扩展性好。 b) 用户界面与业务逻辑完全分离,降低了系统界面与业务逻辑的耦合性。c)XML 文件简单易懂,可维护性好。2:计算器控制逻辑设计与实现代码:CountMain.java用户在输入过程中,肯定会存在一定的错误,程序设计过程中需要对应用程序进行容错处理。容错设计比如:在输入过程中小数的话只能有一个小数点,操作符不能连续输入,整数数据的开头不能出现 0 等等。所以设计了如下代码:/ 数字监听public void xianshi(final Button but, final EditText t1) but.setOnClickListener(new OnClickListener() public void onClick(View v) /判断开始是否可以按操作符南京晓庄学院 android 课程设计5if (but.getText().toString().equals(“.“) if (strBuff.indexOf(“+“) != -1| strBuff.indexOf(“-“) != -1| strBuff.indexOf(“*“) != -1| strBuff.indexOf(“/“) != -1) strBuff.append(but.getText().toString();t1.setText(strBuff);/判断一个操作数中是否可以按多个点 else if (strBuff.indexOf(“.“) = -1 t1.setText(strBuff);/判断在什么情况下可以按多个零 else if (but.getText().toString().equals(“0“) if (strBuff.indexOf(“0“) = 0 t1.setText(strBuff); else if (strBuff.length() = 0) strBuff.append(but.getText().toString();t1.setText(strBuff);/判断第一个按零,接着再按整数的情况时,屏幕的显示 else if (strBuff.indexOf(“0“) = 0strBuff.append(but.getText().toString();t1.setText(strBuff); else 南京晓庄学院 android 课程设计6strBuff.append(but.getText().toString();t1.setText(strBuff););运算部分代码:/ 符号监听public void jisuan(final Button but1, final EditText t1) but1.setOnClickListener(new OnClickListener() public void onClick(View v) /存放输入的字符String newchar1 = but1.getText().toString();/判断开始是否为等号,输入一个数字后在输入等号没有反映String newchar = “;if (!(newchar1.equals(“=“) newchar = newchar1;float per1 = 0;/用来存放截取字符串的第一个操作数float per2 = 0;/用来存放截取字符串的第二个操作数/判断按的字符是否为清除键if (newchar.equalsIgnoreCase(“c“) strBuff.delete(0, strBuff.length();t1.setText(“0“);return;/判断按的操作符是什么计算字符/判断是否为加法if (strBuff.indexOf(“+“) != -1t1.setText(strBuff);南京晓庄学院 android 课程设计9);Overridepublic void onCreate(Bundle savedInstanceState) /这是 Activity 建立的时候一定会调用的 onCreate()方法,第一行是声明super.onCreate(savedInstanceState); /然后是继承原来的 onCreate()方法setContentView(R.layout.main); /然后是载入 main 这个视图,一般来说是在 XML 里定义的/ 下面为变量赋值 final EditText t1 = (EditText) findViewById(R.id.txt_input);final Button but1 = (Button) findViewById(R.id.but1);xianshi(but1, t1);final Button but2 = (Button) findViewById(R.id.but2);/ 符号final Button but4 = (Button) findViewById(R.id.but4);jisuan(but4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司腊八促销活动方案
- 公司物业送花活动方案
- 公司欢迎晚会策划方案
- 公司聚餐写活动方案
- 公司生日会小策划方案
- 公司淘宝推广活动方案
- 公司旅游营销策划方案
- 2025年在线教育平台运营考试试卷及答案
- 2025年智能制造及工程技术考试题及答案
- 2025年信贷风险管理师职业资格考试试题及答案
- GB/T 12149-2017工业循环冷却水和锅炉用水中硅的测定
- 断绝子女关系协议书模板(5篇)
- 成都小升初数学分班考试试卷五
- Q∕SY 01007-2016 油气田用压力容器监督检查技术规范
- 水利水电 流体力学 外文文献 外文翻译 英文文献 混凝土重力坝基础流体力学行为分析
- 零星维修工程项目施工方案
- 物流公司超载超限整改报告
- 起重机安装施工记录表
- 江苏省高中学生学籍卡
- 碳排放问题的研究--数学建模论文
- 赢越酒会讲解示范
评论
0/150
提交评论