基于Android计算器功能的实现文档格式.docx
- 文档编号:14014431
- 上传时间:2022-10-16
- 格式:DOCX
- 页数:12
- 大小:66.63KB
基于Android计算器功能的实现文档格式.docx
《基于Android计算器功能的实现文档格式.docx》由会员分享,可在线阅读,更多相关《基于Android计算器功能的实现文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
本文正是基于Android平台开发的计算器。
计算器作为现在人们日常生活中常用的一种工具已经可以说是人们日常生活中必不可少的工具了。
整个程序基于android技术开发,出总体模块外主要分为输入模块、显示模块以及计算模块(包括一些其他功能)这三大部分。
在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以及显示最终的计算结果,计算模块部分负责进行数据的运算以及一些其他的功能。
下面较为详细的做了说明。
具体的说,总体模块的作用主要是生成应用程序的主类,控制应用程序的生命周期。
输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机按键动作以及用指针事件处理方法处理触屏的单击动作(以松开按键为准)。
同时提供了较为直观的键盘图形用户界面。
显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时还负责显示一些其他的信息。
计算模块则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除、等各种计算功能以及清零的功能。
总体系统
输入模块
显示模块
计算模块
用系统框图来表示即如图2-0。
图2-0
系统框图
2、软件开发环境
论文主要阐述以面向对象的程序开发语言eclipse为开发工具,设计并实现基于Android的计算器。
步骤1安装JDK
步骤2安装Tomcat
步骤3安装
Android
SDK
步骤4安装Eclipse
步骤5安装Eclipse的ADT插件
步骤6Eclipse的SDK配置
步骤7建立AVD虚拟机
3、软件功能说明
系统包括普通计算功能,基本的加减乘除,小数运算以及清零功能。
如图2-1。
除法(/)
手机计算器
加法(+)
减法(-)
乘法(*)
清零C
对任意两个数据进行相加的操作
对任意两个数据进行相减的操作
对任意两个数相乘的操作
任意两个数相除的操作,但要符合运算逻辑
清除已经被记忆的数据
如图2-1功能图
4、程序流程图
知道了系统的功能以后,我们通过main.xml来建立显示界面,完成后系统开始监听用户的按键输入,每次输入系统都会判断一次用户输入的类型,是数字还是运算符号或者是清除,判断完后分成不同类型如数字,符号,基本运算等等进行进一步的处理,根据用户的要求继续进行下一步的操作,最后计算出最终结果并显示在显示区。
系统流程图如图2-2所示:
5、软件介面及程序主要代码
1:
(1)XML文件生成
Main.xml的代码:
根据MVC原则,UI应该与程序逻辑相分离,因此,在XML中定义UI结构是强烈推荐的。
常用的方式是用图形化的方式来编写布局Layout,这些布局保存在XML文件中,然后编译成资源,在程序中Activity通过setContentView()方法来加载,然后通过findViewByld()方式来获得每一个界面组件的引用。
实现过程及步骤。
在layout文件夹下定义自己的XML页面。
如计算器属性界面的实现如下所示
部分代码
<
?
xmlversion="
1.0"
encoding="
utf-8"
>
LinearLayout
xmlns:
android="
schemas.android./apk/res/android"
android:
orientation="
vertical"
layout_width="
fill_parent"
layout_height="
<
EditTextandroid:
id="
+id/txt_input"
240dp"
wrap_content"
gravity="
right"
text="
string/zero"
/>
..........
/LinearLayout>
LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。
android:
//定义了布局的变量名称为txt_input,会自动写进R.java;
在R.Java文件中会生成部类id,可在主程序里面调用R.id.txt_input来获取这个布局变量实体。
//这个布局是垂直布局;
(水平horizontal)
//设置一个顶部布局或控件强制性让它布满整个屏幕;
("
设置一个顶部布局或控件强制性让它布满整个屏幕)
//限定里面的容向右对齐;
(android:
layout_gravity="
表示在界面上的位置向右对齐)
用XML实现用户界面具有以下优点:
a)XML文件结构清晰,易于扩展,系统可扩展性好。
b)用户界面与业务逻辑完全分离,降低了系统界面与业务逻辑的耦合性。
c)XML文件简单易懂,可维护性好。
2:
计算器控制逻辑设计与实现代码:
CountMain.java
用户在输入过程中,肯定会存在一定的错误,程序设计过程中需要对应用程序进行容错处理。
容错设计比如:
在输入过程中小数的话只能有一个小数点,操作符不能连续输入,整数数据的开头不能出现0等等。
所以设计了如下代码:
//数字监听
publicvoidxianshi(finalButtonbut,finalEditTextt1){
but.setOnClickListener(newOnClickListener(){
publicvoidonClick(Viewv){
//判断开始是否可以按操作符
if(but.getText().toString().equals("
."
)){
if(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);
}
}
//判断在什么情况下可以按多个零
}elseif(but.getText().toString().equals("
0"
if(strBuff.indexOf("
)==0&
strBuff.indexOf("
)==1){
}elseif(strBuff.length()==0){
//判断第一个按零,接着再按整数的情况时,屏幕的显示
}elseif(strBuff.indexOf("
)==0
&
)==-1){
strBuff.delete(0,strBuff.length());
strBuff.append(but.getText().toString());
t1.setText(strBuff);
}else{
}
}
});
}
运算部分代码:
//符号监听
publicvoidjisuan(finalButtonbut1,finalEditTextt1){
but1.setOnClickListener(newOnClickListener(){
//存放输入的字符
Stringnewchar1=but1.getText().toString();
//判断开始是否为等号,输入一个数字后在输入等号没有反映
Stringnewchar="
"
;
if(!
(newchar1.equals("
="
))){
newchar=newchar1;
}
floatper1=0;
//用来存放截取字符串的第一个操作数
floatper2=0;
//用来存放截取字符串的第二个操作数
//判断按的字符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 计算器 功能 实现