ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:90.20KB ,
资源ID:4822860      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4822860.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Android计算器功能的实现.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于Android计算器功能的实现.docx

1、基于Android计算器功能的实现Android课程设计 基于Android计算器功能的实现所在系(院): 学 生 姓 名: 指 导 教 师: 研究起止日期: 1、软件产品介绍.12、软件开发环境.23、软件功能说明.24、程序流程图.25、软件介面及程序主要代码.46、设计总结. .10基于Android计算器相关技术概述1、 软件产品介绍随着移动通信技术和网络技术的迅速发展,手机系统发生了巨大的变化,从进行简单通话功能的非智能手机到现在集上网、聊天、收发邮件、视屏电话会议等各种服务于娱乐为一身的智能手机系统。由Google公司牵头众多实力雄厚的软硬件厂商加盟成立了OMS联盟,并推出的And

2、roid平台手机系统。作为时代的新生儿,Android手机操作平台有着得天独厚的优势广阔的发展前景。本文正是基于Android平台开发的计算器。计算器作为现在人们日常生活中常用的一种工具已经可以说是人们日常生活中必不可少的工具了。整个程序基于android技术开发,出总体模块外主要分为输入模块、显示模块以及计算模块(包括一些其他功能)这三大部分。在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以及显示最终的计算结果,计算模块部分负责进行数据的运算以及一些其他的功能。下面较为详细的做了说明。具体的说,总体模块的作用主要是生成应用程

3、序的主类,控制应用程序的生命周期。输入模块 主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机按键动作以及用指针事件处理方法处理触屏的单击动作(以松开按键为准)。同时提供了较为直观的键盘图形用户界面。显示模块 描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时还负责显示一些其他的信息。计算模块 则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除、等各种计算功能以及清零的功能。用系统框图来表示即如图 2-0。 图2-0系统框图2、 软件开发环境 论文主要阐述以面向对象的程序开发语言eclip

4、se为开发工具, 设计并实现基于 Android的计算器。步骤1 安装JDK步骤2 安装Tomcat步骤3 安装AndroidSDK步骤4 安装Eclipse步骤5 安装Eclipse的ADT插件 步骤6 Eclipse的SDK配置步骤7 建立AVD虚拟机3、 软件功能说明系统包括普通计算功能,基本的加减乘除,小数运算以及清零功能。如图2-1。 如图2-1 功能图4、 程序流程图知道了系统的功能以后,我们通过main.xml来建立显示界面,完成后系统开始监听用户的按键输入,每次输入系统都会判断一次用户输入的类型,是数字还是运算符号或者是清除,判断完后分成不同类型如数字,符号,基本运算等等进行进

5、一步的处理,根据用户的要求继续进行下一步的操作,最后计算出最终结果并显示在显示区。系统流程图如图2-2所示: 5、 软件介面及程序主要代码1:(1)XML文件生成Main.xml的代码:根据MVC原则,UI应该与程序逻辑相分离,因此,在XML中定义UI结构是强烈推荐的。常用的方式是用图形化的方式来编写布局Layout,这些布局保存在XML文件中,然后编译成资源,在程序中Activity通过setContentView()方法来加载,然后通过findViewByld()方式来获得每一个界面组件的引用。实现过程及步骤。在layout文件夹下定义自己的XML页面。如计算器属性界面的实现如下所示部分代

6、码 .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 /设置

7、一个顶部布局或控件强制性让它布满整个屏幕;(wrap_content设置一个顶部布局或控件强制性让它布满整个屏幕)android:gravity=right /限定里面的内容向右对齐;(android:layout_gravity=right 表示在界面上的位置向右对齐)用XML实现用户界面具有以下优点:a)XML文件结构清晰,易于扩展,系统可扩展性好。b) 用户界面与业务逻辑完全分离,降低了系统界面与业务逻辑的耦合性。c)XML文件简单易懂,可维护性好。2:计算器控制逻辑设计与实现代码:CountMain.java用户在输入过程中,肯定会存在一定的错误,程序设计过程中需要对应用程序进行容错处

8、理。容错设计比如:在输入过程中小数的话只能有一个小数点,操作符不能连续输入,整数数据的开头不能出现0等等。所以设计了如下代码: / 数字监听 public void xianshi(final Button but, final EditText t1) but.setOnClickListener(new OnClickListener() public void onClick(View v) /判断开始是否可以按操作符 if (but.getText().toString().equals(.) if (strBuff.indexOf(+) != -1 | strBuff.indexOf

9、(-) != -1 | strBuff.indexOf(*) != -1 | strBuff.indexOf(/) != -1) strBuff.append(but.getText().toString(); t1.setText(strBuff); /判断一个操作数中是否可以按多个点 else if (strBuff.indexOf(.) = -1 & strBuff.length() != 0) strBuff.append(but.getText().toString(); t1.setText(strBuff); /判断在什么情况下可以按多个零 else if (but.getTex

10、t().toString().equals(0) if (strBuff.indexOf(0) = 0 & strBuff.indexOf(.) = 1) strBuff.append(but.getText().toString(); t1.setText(strBuff); else if (strBuff.length() = 0) strBuff.append(but.getText().toString(); t1.setText(strBuff); /判断第一个按零,接着再按整数的情况时,屏幕的显示 else if (strBuff.indexOf(0) = 0 & strBuff

11、.indexOf(.) = -1) strBuff.delete(0, strBuff.length(); strBuff.append(but.getText().toString(); t1.setText(strBuff); else strBuff.append(but.getText().toString(); t1.setText(strBuff); ); 运算部分代码: / 符号监听 public void jisuan(final Button but1, final EditText t1) but1.setOnClickListener(new OnClickListene

12、r() 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.de

13、lete(0, strBuff.length(); t1.setText(0); return; /判断按的操作符是什么计算字符 /判断是否为加法 if (strBuff.indexOf(+) != -1 & strBuff.indexOf(+) strBuff.length() - 1 & strBuff.indexOf(+) != 0) int i = strBuff.indexOf(+); per1 = Float.parseFloat(strBuff.substring(0, i); per2 = Float.parseFloat(strBuff.substring(i + 1, st

14、rBuff.length(); float sum = per1 + per2; strBuff.delete(0, strBuff.length(); strBuff.append(sum); strBuff.append(newchar); t1.setText(strBuff); /判断是否为减法 else if (strBuff.indexOf(-) != -1 & strBuff.indexOf(-) strBuff.length() - 1 & strBuff.indexOf(-) != 0) int i = strBuff.indexOf(-); per1 = Float.par

15、seFloat(strBuff.substring(0, i);per2 = Float.parseFloat(strBuff.substring(i + 1, strBuff.length(); float sum = per1 - per2; strBuff.delete(0, strBuff.length(); strBuff.append(sum); strBuff.append(newchar); t1.setText(strBuff); /判断是否为乘法 else if (strBuff.indexOf(*) != -1 & strBuff.indexOf(*) strBuff.l

16、ength() - 1 & strBuff.indexOf(*) != 0) int i = strBuff.indexOf(*); per1 = Float.parseFloat(strBuff.substring(0, i); per2 = Float.parseFloat(strBuff.substring(i + 1, strBuff.length(); float sum = per1 * per2; strBuff.delete(0, strBuff.length(); strBuff.append(sum); strBuff.append(newchar); t1.setText

17、(strBuff); /判断是否为除法 else if (strBuff.indexOf(/) != -1 & strBuff.indexOf(/) 0 & (0 = strBuff.charAt(strBuff.length() - 1) strBuff.append(newchar); t1.setText(strBuff); ); Override public void onCreate(Bundle savedInstanceState) /这是Activity建立的时候一定会调用的onCreate()方法,第一行是声明 super.onCreate(savedInstanceSta

18、te); /然后是继承原来的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, t1); . 6、 设计总结到现在为止,系统的设计和开发已基本完成。本系统的功能基本符合了普通用户对于计算器的要求,整个系统界面良好,简单明了,使用起来十分方便,具有普通计算器的基本功能。整个过程中,从总体架构的构思,到最后的完成都投入了大量的时间和精力,对系统中的每个功能都进行了反复的调试,修改。由于是第一次独立的完成软件的开发,不论是在知识层面还是经验方面都有着很大的欠缺和不足,因此本系统难免会有一些不尽如人意的地方,但是由于时间的关系,只能在日后再进行完善了。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2