Android课程设计报告河北科技大学Word文件下载.docx

上传人:b****5 文档编号:18571462 上传时间:2022-12-28 格式:DOCX 页数:14 大小:20.71KB
下载 相关 举报
Android课程设计报告河北科技大学Word文件下载.docx_第1页
第1页 / 共14页
Android课程设计报告河北科技大学Word文件下载.docx_第2页
第2页 / 共14页
Android课程设计报告河北科技大学Word文件下载.docx_第3页
第3页 / 共14页
Android课程设计报告河北科技大学Word文件下载.docx_第4页
第4页 / 共14页
Android课程设计报告河北科技大学Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

Android课程设计报告河北科技大学Word文件下载.docx

《Android课程设计报告河北科技大学Word文件下载.docx》由会员分享,可在线阅读,更多相关《Android课程设计报告河北科技大学Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

Android课程设计报告河北科技大学Word文件下载.docx

设计编写一个简单的计算器

年月日

一、概述

设计编写一个能在Android系统下运行的计算器,除了能实现四则运算外,还带有菜单的功能。

菜单中拥有的Item有:

1退出键——按下时弹出一个对话框提示是否确认退出;

2帮助键——按下后显示帮助信息,并能从帮助界面返回到主界面;

3About键——按下后弹出就算器的版本信息;

4换肤键——按下后更换皮肤。

二、项目设计与实现

先写好布局文件,代码如下:

<

?

xmlversion="

1.0"

encoding="

utf-8"

>

android:

orientation="

vertical"

layout_width="

fill_parent"

layout_height="

>

<

LinearLayoutandroid:

android:

layout_weight="

5"

>

<

EditTextandroid:

android:

id="

@+id/editText1"

android:

2"

background="

@android:

color/darker_gray"

>

/EditText>

@+id/editText2"

singleLine="

true"

1"

gravity="

right"

/LinearLayout>

<

horizontal"

android:

12"

<

ImageButtonandroid:

src="

@drawable/clean"

android:

@+id/buttonclean"

android:

android:

/>

@drawable/delete"

@+id/deletebutton"

/>

@drawable/left"

@+id/buttonl"

@drawable/right"

@+id/buttonr"

11"

@drawable/nine"

@+id/button9"

@drawable/eight"

@+id/button8"

@drawable/seven"

@+id/button7"

@drawable/cheng"

@+id/buttoncheng"

@drawable/six"

@+id/button6"

@drawable/five"

@+id/button5"

@drawable/four"

@+id/button4"

@drawable/chu"

@+id/buttonchu"

<

@drawable/three"

@+id/button3"

@drawable/two"

@+id/button2"

@drawable/one"

@+id/button1"

@drawable/jia"

@+id/buttonjia"

@drawable/zero"

@+id/button0"

@drawable/dian"

@+id/buttondian"

@drawable/deng"

@+id/buttondeng"

@drawable/jian"

@+id/buttonjian"

说明:

此Activity采用嵌套式LinearLayout布局,最外层的LinearLayout嵌入六个LinearLayout,此时LinearLayout的android:

即采用垂直布局。

嵌入的六个LinearLayout除第一个采用垂直布局外其他的均采用水平布局。

第一个LinearLayout控制两个EditText的位置,剩下的五个LinearLayout控制20个按钮的布局。

为使软件能适应不同分辨率的手机,所有控件的layout_width和layout_height属性都设为fill_parent,而控制按钮大小通过设置layout_weight的大小来控制。

这样控件的大小就只和屏幕大小和控件占屏幕的比例有关。

显示效果如下:

Activity的界面

计算器的基本功能实现

接下来就是对各个按钮绑定监听器,实现算术式的输入功能和计算输入的算术式值的功能。

根据各个按钮的功能可将将它们分为四类:

Clean按钮为一类,Delete为一类,等号按钮为一类,其他的作为基本算式输入按钮可看做一类。

由此写四个监听器类,分别实现按钮的各个功能。

Clean功能是清空两个Edittext中的内容,实现原理也就是Clean按钮绑定的监听器,代码如下:

//清除功能

classclearListenerimplementsOnClickListener

{

publicvoidonClick(Viewv)

{

//TODOAuto-generatedmethodstub

edittext1.setText(null);

edittext2.setText(null);

tem="

"

;

tem1="

}

}

Delete功能相关代码是为:

//删除功能,删除之后光标不移动

classdeleteListenerimplementsOnClickListener

publicvoidonClick(Viewv)

intindex=edittext1.getSelectionStart();

//获得光标位置

intl=tem.length();

if(l==0||index==0)

{

edittext1.setText(tem);

edittext1.setSelection(0);

}

elseif(l==1)

tem="

else

Stringtem2="

tem2=tem.substring(index,l);

tem=tem.substring(0,index-1);

edittext1.setText(tem+tem2);

edittext1.setSelection(tem.length());

tem=tem+tem2;

//edittext1.setSelection(index-1);

点击等号按钮后,能计算输入算式的值并将结果显示在第二个文本框中,实现代码如下:

//等号功能

classdengListenerimplementsOnClickListener

publicvoidonClick(Viewarg0){

Stringstr=edittext1.getText().toString();

ExpressionParserep=newExpressionParser(str);

try{

doubleresult=ep.parse();

Stringresult_str=String.valueOf(result);

edittext2.setText(result_str);

}catch(Exceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

edittext2.setText("

ERROR"

);

其中ExpressionParser为一个封装类,其实现的功能为计算出用字符串表示的素数表达式的值。

计算用字符串表示的计算式的基本原理为:

1.创建两个堆栈,一个用来放数据(numStack),一个用来放算术符(chStack);

2.从左到右读入算术式,如果读到的是数字,则压入(push)到数据堆栈(numStack)中。

若读到的是算术符,先判断chStack栈顶元素,若栈顶元素优先级大于读到的算术符,则先将栈顶元素和numStack中两个数拿出来计算,再将读到的算术符压入chStack中,若读到的算术符优先级大于栈顶元素,则将读到的算术符压入chStack中。

如果读到的是右括号则不断将chStack和numStack中的内容拿出来计算,直到从chStack中拿出左括号为止;

3.若读到了算术式的最后,则将两堆栈中的内容全拿出来计算,最后结果放在numStack中。

这里的左括号的优先级最低,其次为加号和减号,最高为乘号和除号。

基本算式输入按钮实现的功能不仅要能输入基本的数字和算术符,还要有简单的纠错功能,如不能连续输入两个小数点、右括号数必须和左括号数对应、不能连续输入两个加减乘除等。

Menu设计

使用Menu菜单实现退出、查看帮助文档、更换皮肤和查看版本信息的功能,如图6.12所示。

图6.12菜单界面

菜单可以采用xml实现,先在res文件夹中新建AndroidXMLFile,选择Menu类型,如图6.13所示:

图6.13新建XML文件

之后,此XML文件保存在layout文件夹下面的Menu文件夹下。

然后在menu.xml文件中添加需要添加的item,这里添加“Exit”、“Help”、“Skin”、“About”四个Item,相关代码如下:

groupandroid:

@+id/group1"

<

itemandroid:

@+id/exit"

title="

Exit"

icon="

@drawable/exit3"

@+id/about"

About"

@drawable/about3"

@+id/help"

tit

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1