android开发计算器课程设计样本
Android平台上的计算器设计
重庆邮电大学《移动计算》实验报告设计题目:Android平台上的计算器设计学生班级:专业姓名:学生学号:学生成绩:指导教师(职称):目录摘要........................................................................................................................................................ - 1 -ABSTRACT ............................................................................................................................................... - 2 -第一章引言.............................................................................................................................................. - 3 -1.1课题背景及意义 (3)1.1.1课题背景................................................................................................................................ - 3 -1.1.2课题相关的技术知识.............................................................................................................. - 4 -1.2智能手机平台系统 (7)1.3课题来源 (8)第二章系统分析...................................................................................................................................... - 9 -2.1系统可行性分析 (9)2.2系统的开发语言的选择 (9)2.3系统的开发工具简介 (9)2.3.1 JDK .......................................................................................................................................... - 9 -2.3.2 WTK ....................................................................................................................................... - 10 -2.3.3 Eclipse .................................................................................................................................... - 10 -2.3.4 EclipseMe ................................................................................................................................- 11 -第三章基于ANDROID平台计算器相关技术概述............................................................................ - 12 -3.1A NDROID手机平台 (12)3.1.1Android起源及优势 .............................................................................................................. - 12 -3.1.2Android体系结构 .................................................................................................................. - 12 -3.1.3Android平台功能特征 .......................................................................................................... - 14 -3.2A NDROID SDK介绍 (15)3.3XML技术 (16)3.4JNI技术 (16)第四章基于ANDROID平台计算器设计............................................................................................ - 18 -4.1系统的总体设计 (18)4.2程序流程和系统功能设计 (18)4.2.1 程序流程设计....................................................................................................................... - 18 -4.2.2 系统功能设计....................................................................................................................... - 19 -4.3基于A NDROID平台系统具体设计 (20)4.3.1 总体模块详细设计............................................................................................................... - 20 -4.3.2 输入模块详细设计............................................................................................................... - 20 -4.3.3 显示模块详细设计............................................................................................................... - 21 -4.3.4 计算模块详细设计............................................................................................................... - 21 -第五章计算器系统实现........................................................................................................................ - 23 -5.1A NDROID应用程序构成 (23)5.2A NDROID应用系统文件结构 (23)5.3构建A NDROID应用程序用户界面 (25)5.3.1 Android应用程序界面组件.................................................................................................. - 25 -5.3.2 Android应用系统界面组件.................................................................................................. - 26 -5.3.3 Android用户界面的实现...................................................................................................... - 27 -5.4计算模块的实现 (30)5.5计算器演示 (33)总结...................................................................................................................................................... - 35 -致谢...................................................................................................................................................... - 36 -参考文献.................................................................................................................................................. - 37 -附录............................................................................................................................... 错误!未定义书签。
android开发——简易计算器的设计报告
简易计算机的设计摘要:Android是当今最重要的手机开发平台之一,它是建立在Java基础之上的,能够迅速建立手机软件的解决方案。
Android的功能十分强大,成为当今软件行业的一股新兴力量。
Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具有以下5个特点:开放性、应用程序无界限、应用程序是在平等条件下创建的、应用程序可以轻松的嵌入网络、应用程序可以并行运行。
一、实训目的1、了解Android系统,学会Android开发环境的搭建。
2、了解E clipse,学会用E clipse和Java 开发一个Android程序。
3、进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,能够熟练的应用面向对象的思想和设计方法解决实际问题的能力。
4、巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用。
二、实训任务1、Activity的相关知识简单理解Activity 代表一个用户所能看到的屏幕,Activity 主要是处理一个应用的整体性工作。
Activity是最基本的Android 应用程序组件,应用程序中,一个活动通常就是一个单独的屏幕。
每一个活动都被实现为一个独立的类,并且从活动基类中继承而来,活动类将会显示由视图控件组成的用户接口,并对事件做出响应。
大多数的应用是由多个屏幕显示组成,因而要用到多个Activity。
(1)Activity的相关方法及相关函数:void onCreate(Bundle)首次启动时调用,接受参数:Null or savedInstanceState(保存的以前某些状态信息);void onStart() 说明了将要显示给用户的活动;void onRestart()将处于停止状态的活动重新显示给用户;void onResume()用户可以开始与活动进行交互时调用。
android计算机课程设计
android计算机课程设计一、课程目标知识目标:1. 理解Android开发的基本概念和原理,掌握Android应用程序的架构和开发环境配置。
2. 学习Android应用程序的核心组件,如活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。
3. 掌握Android界面设计基础,包括布局管理器、控件的使用和事件处理机制。
4. 学会使用Android SDK进行移动设备硬件功能的调用,如摄像头、GPS定位等。
技能目标:1. 能够独立搭建Android开发环境,并熟练使用相关开发工具和调试技巧。
2. 能够设计和编写具有基本功能的Android应用程序,实现界面布局和业务逻辑。
3. 学会运用Android Studio进行项目管理和版本控制,具备团队协作开发的能力。
4. 能够解决实际开发过程中遇到的问题,具备查阅官方文档和技术社区求助的能力。
情感态度价值观目标:1. 培养学生对Android开发技术的兴趣和热情,激发创新意识和探索精神。
2. 培养学生具备良好的编程习惯,注重代码规范和性能优化。
3. 培养学生面对困难和挫折时,保持积极的心态,勇于克服困难,不断进步。
4. 培养学生具备团队协作精神,学会与他人分享、交流和合作。
本课程针对高年级学生,结合Android计算机课程的特点,注重理论与实践相结合,旨在提高学生的编程能力和实际开发水平。
课程目标明确,可衡量,便于教学设计和评估。
通过本课程的学习,学生将掌握Android开发的基本知识和技能,为未来的职业发展打下坚实基础。
二、教学内容1. Android开发基础- Android系统架构与开发环境搭建- Android应用程序组件及生命周期- 布局管理器(线性布局、相对布局、帧布局等)- 常用控件(文本框、按钮、图像视图等)及事件处理2. Android界面设计- 界面布局原则和技巧- 自定义控件和适配器- 动画与过渡效果实现- 界面优化与性能提升3. Android功能开发- 摄像头和相册的使用- GPS定位与地图开发- 网络编程和数据存储- 传感器和硬件功能调用4. Android项目实战- 项目需求分析与功能规划- 项目架构设计与模块划分- 功能实现与调试- 项目测试与优化教学内容依据课程目标制定,涵盖Android开发的核心知识和技能。
android开发计算器课程设计
Android应用程序开发实验报告学号: 131006105学生姓名:冯会会指导教师: 齐兵辉提交时间: 2015、11、10目录第一章系统分析与设计..................................................................................... 错误!未定义书签。
1、1系统得可行性分析ﻩ错误!未定义书签。
1、2系统得需求分析ﻩ错误!未定义书签。
第二章系统详细设计 ........................................................................................ 错误!未定义书签。
2、1ACTIVITY得详细设计ﻩ错误!未定义书签。
2、2 XML文件得详细设计.................................................................................... 错误!未定义书签。
第三章测试运行及总结..................................................................................... 错误!未定义书签。
3、1界面截图 ................................................................................................... 错误!未定义书签。
3、2运行界面截图ﻩ错误!未定义书签。
3、3运行结果截图............................................................................................ 错误!未定义书签。
3、4总结ﻩ错误!未定义书签。
从零开始学android实现计算器功能示例分享(计算器源码)
从零开始学android实现计算器功能⽰例分享(计算器源码)下⾯是效果展⽰:复制代码代码如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><LinearLayout android:layout_width="fill_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/tvResult"android:layout_width="fill_parent"android:layout_height="wrap_content"android:height="50dp"android:text="@string/tvResult"/></LinearLayout><LinearLayout android:layout_width="fill_parent"android:layout_height="wrap_content"><Buttonandroid:id="@+id/btnBackspace"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="150dp"android:layout_marginLeft="10dp"android:text="@string/btnbackspace"/><Buttonandroid:id="@+id/btnCE"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="150dp"android:text="@string/btnCE"/></LinearLayout><LinearLayout android:layout_width="fill_parent"android:layout_height="wrap_content"><Buttonandroid:id="@+id/btn7"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:width="75dp"android:text="@string/btn7"/><Buttonandroid:id="@+id/btn8"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btn8"/><Buttonandroid:id="@+id/btnDiv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btnDiv"/></LinearLayout><LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content"><Buttonandroid:id="@+id/btn4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:width="75dp"android:text="@string/btn4"/><Buttonandroid:id="@+id/btn5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btn5"/><Buttonandroid:id="@+id/btn6"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btn6"/><Buttonandroid:id="@+id/btnMul"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btnMul"/></LinearLayout><LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content"><Buttonandroid:id="@+id/btn1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:width="75dp"android:text="@string/btn1"/><Buttonandroid:id="@+id/btn2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btn2"/><Buttonandroid:id="@+id/btn3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btn3"/></LinearLayout><LinearLayout android:layout_width="fill_parent"android:layout_height="wrap_content"><Buttonandroid:id="@+id/btn0"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:width="75dp"android:text="@string/btn0"/><Buttonandroid:id="@+id/btnC"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btnC"/><Buttonandroid:id="@+id/btnEqu"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btnEqu"/><Buttonandroid:id="@+id/btnSub"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btnSub"/></LinearLayout></LinearLayout>复制代码代码如下:package com.example.week2;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;import android.app.Activity;public class MainActivity extends Activity implements OnClickListener{ //声明⼀些控件Button btn0=null;Button btn1=null;Button btn2=null;Button btn3=null;Button btn4=null;Button btn5=null;Button btn6=null;Button btn7=null;Button btn8=null;Button btn9=null;Button btnBackspace=null;Button btnCE=null;Button btnMul=null;Button btnDiv=null;Button btnEqu=null;TextView tvResult=null;//声明两个参数。
Android项目 计算器
课程设计说明书题 目:移动版计算器学生姓名:学 院: 信息工程学院 班 级: 计12-1班 指导教师: 庄旭菲2015 年 7 月学校代码: 10128 学 号:目录第一章总体功能介绍 (1)1.1功能介绍 (1)1.2软件设计 (1)1.2.1系统软件的结构图 (1)1.2.2功能的操作流程 (1)1.2.3计算器模块 (2)第二章各功能模块的具体实现 (3)2.1系统主界面 (3)2.2基本加减乘除界面 (10)2.3其他运算界面 (2)第三章调试及运算结果 (8)3.1加法运算结果 (8)3.2减法运算结果 (9)3.3乘法运算结果 (9)3.4除法运算结果 (9)3.5带括号运算结果 (10)3.6复合运算结果 (10)第四章总结 (10)摘要:Android是当今最重要的手机开发的平台之一,它是建立在Java基础上的,能够迅速建立手机软件的解决方案。
Android的功能十分强大。
成为当今软件行业的一股新兴力量。
Android基于Linux平台,由操作系统、用户界面和应用软件组成,具有以下特点:开放性、应用程序无界限、应用程序是在平等条件下创建的、应用程序可以轻松的嵌入网络、应用程序可以并行运行。
第一章总体功能介绍1.1功能介绍计算器软件的系统功能介绍:(1)实现简单的要实现基本的加、减、乘、除四则运算。
(2)可以实现在前一步计算结果上继续作加、减、乘、除,即连加、减、乘、除。
(3)有清空功能,即清除所有数据,重新开始计算。
(4)拥有后退按键,可以实现清除单个错误数据。
(5)可以实现复合运算。
1.2软件设计1.2.1系统软件的结构图移动版计算器加法减法乘法除法其他运算基本运算清零退格1.2.2功能的操作流程首先用户根据自己的实际需要选择计算,得出程序结果,输入数据,选择运算符号,再输入数据,选择等号,即可以得出结果。
1.2.3计算器模块图1-1 MyOntouchListener 类图图1-2 Utils类图图1-3 MainActivity类图程序中的类图如图1-1,1-2,1-3所示。
android开发计算器课程设计
android开发计算器课程设计一、教学目标本课程旨在通过学习Android开发计算器,使学生掌握Android应用开发的基本知识和技能,能够独立设计和开发简单的Android计算器应用。
1.理解Android开发的基本概念和框架。
2.掌握Android计算器的界面设计和事件处理。
3.熟悉Android计算器的数据存储和运算逻辑。
4.能够使用Android Studio进行基本的Android应用开发。
5.能够设计并实现一个简单的Android计算器应用。
6.能够对Android计算器应用进行调试和优化。
情感态度价值观目标:1.培养学生的创新意识和问题解决能力。
2.培养学生对Android开发技术的兴趣和热情。
3.培养学生的团队合作精神和自主学习能力。
二、教学内容本课程的教学内容主要包括Android开发的基本概念和框架、Android计算器的界面设计和事件处理、Android计算器的数据存储和运算逻辑等。
1.Android开发的基本概念和框架:介绍Android Studio的使用、Android应用的结构和生命周期、Activity和Service的概念和用法。
2.Android计算器的界面设计:介绍布局文件的使用、控件的属性和事件处理。
3.Android计算器的数据存储和运算逻辑:介绍SharedPreferences和SQLite数据库的使用、运算器的实现和数据的存储。
三、教学方法本课程将采用讲授法、案例分析法和实验法等多种教学方法相结合的方式进行教学。
1.讲授法:通过讲解和演示,使学生理解Android开发的基本概念和框架、Android计算器的界面设计和事件处理、Android计算器的数据存储和运算逻辑。
2.案例分析法:通过分析典型的Android计算器应用案例,使学生掌握Android计算器的界面设计和事件处理、数据存储和运算逻辑的实现。
3.实验法:通过实际操作和调试,使学生掌握Android计算器的界面设计和事件处理、数据存储和运算逻辑的实现。
基于android的科学计算器的课设
基于android的科学计算器的课设
基于Android的科学计算器的课设
随着科技的不断发展,计算器已经成为了人们日常生活中必不可少的工具之一。
而随着科学技术的不断进步,人们对计算器的要求也越来越高,特别是在科学计算方面。
因此,基于Android的科学计算器的课设就应运而生。
基于Android的科学计算器的课设需要具备基本的计算功能,如加减乘除等。
同时,还需要具备科学计算功能,如三角函数、对数函数、指数函数等。
这些功能的实现需要借助于Android平台提供的API,如Math类等。
基于Android的科学计算器的课设还需要具备良好的用户界面设计。
用户界面设计应该简洁明了,易于操作。
同时,还需要考虑到不同屏幕尺寸的适配问题,以保证在不同的设备上都能够正常使用。
除此之外,基于Android的科学计算器的课设还需要具备一些高级功能,如历史记录、记忆功能等。
历史记录功能可以记录用户的计算历史,方便用户查看和修改。
记忆功能可以记录用户的某些计算结果,方便用户下次使用时直接调用。
基于Android的科学计算器的课设还需要考虑到一些安全问题。
例如,用户输入的数据可能存在恶意代码,需要进行过滤和验证。
同
时,还需要考虑到数据的保密性,以防止用户的隐私泄露。
基于Android的科学计算器的课设需要具备基本的计算功能和科学计算功能,良好的用户界面设计,高级功能和安全性保障。
只有这样,才能够满足用户的需求,成为一款优秀的科学计算器。
课程设计-安卓计算器的开发与设计
.工程学院操作系统课程设计报告书题目安卓计算器的开发与设计系别计算机工程系专业计算机科学与技术班级S计本1205姓名指导教师下达日期2013年6 月13 日设计时间自2013 年7 月 1 日至2013 年7 月 4 日目录摘要 (3)一、设计概述 (4)1.设计背景 (4)2.设计目的 (4)3.设计要求 (4)4.开发环境 (6)二、设计细节 (7)1.整体思想 (7)2.容错处理 (7)3.数据结构的设计 (8)4.用户界面的实现 (8)5.文件结构 (9)6.界面组件设计 (10)(1)XML文件生成 (11)(2)用户界面在程序代码实现 (11)(3)用户自定义页面组件 (11)7.程序流程 (12)三、详细设计与实现 (13)1.开发环境搭建 (13)(1)安装Android 开发插件 (13)(2)配置android sdk (15)2.图形界面设计 (17)3.程序功能实现 (22)四、测试分析 (28)1.模拟器创建 (28)2.计算功能 (29)3.应用卸载 (30)3.应用导出为.APK文件 (30)小结 (31)致谢 (32)摘要Android成功地成为了最具有潜力的新一代的手机应用软件。
正如了标准化PC和Macintosh平台上创建的桌面和服务器软件市场,在Android上,通过提供一个标准的手机应用环境,将增加移动应用程序和应用开发商的利润。
Android给开发人员提供了一种独特的,创造性的应用开发方式,并且应用到客户手机中。
现在出现了成千上万的Android手机用户,正在寻找最优秀的手机应用程序。
然后把这些优秀的应用程序应用到手机中。
本程序是一个基于现有手机计算器开发的在触屏手机上运行的简单计算器,使用户可以更加简单便捷的使用计算器的功能,在此次程序设计中所做的工作主要是设计程序的图形化操作界面,以及利用编程语言实现整个程序的计算功能,使其能够正确地运行。
关键词:应用程序,操作系统,Android,应用开发,计算器一、设计概述1.设计背景随着社会的发展,经济水平的提高,手机越来越普及。
Android简单计算器课程设计
Android简单计算器课程设计广东工业大学华立学院课程名称手机游戏开发题目名称简单计算器学生学部,系, 机电与信息工程学部专业班级 12计算机科学与技术2班学号学生姓名任课教师2015年 6月 20日一、课程考试,设计,的内容基于Android平台的简单计算器二、课程考试,设计,的要求清晰描述应用的策略和基本框架~并设计相关的类~描述各个类的作用和关系~画出类图关系~叙述使用到的技术点。
目录1课程综述 .............................................. 错误~未定义书签。
2 手机应用设计.......................................... 错误~未定义书签。
2.1 开发背景...................................................................... ........................................................................ 错误~未定义书签。
2.2 设计思想...................................................................... ........................................................................ 错误~未定义书签。
2.3 策略描述.............................................................................................................................................. 错误~未定义书签。
2.4 设计将达到的目标 ..................................................................... ....................................................... 错误~未定义书签。
android计算器设计文档.
实验报告课程名称Android或JA V A综合实训实验名称电子计算器专业计算机科学与技术班级1002班学号201003010234姓名吴超指导教师陈华光2013年12 月18 日目录一.引言 1二.需求分析 11.状态定义 12.计算器功能 2三.总体设计 51.软件设计结构图 52.程序设计流程图 6四.模板设计 71.计算模块详细设计 72.用户模型设计 73.计算模板设计的实现 84.计算器模板设计 9五.计算器演示 10六.小结 13 七.附录 14一:引言目前手机可以说是普及率非常高的电子设备了,由于其便于携带,使用方便,资费适中等等原因,现在手机已经在一定程度开始代替固定电话的通话功能,以及一些原来电脑软件上的功能了。
手机上的软件也随着手机的发展变得丰富起来了,时至今日已经出现了很多专门制作手机软件的公司,虽然制作的多是游戏软件,但是一些辅助性的工具软件也有了很多.我们在此次系统中所做的工作主要是设计整个系统以及利用编程语言实现整个系统,使系统能够正确的运行计算功能。
二:需求分析(一)状态定义:能满足基本的数学运算。
具体要求如下:1,刚启动计算器时的状态:开始计算按键开始键"ON"2.清零:计算刚启动时,或者任何时候键入了清零键,计算器所处的状态。
2.一个操作数:输入了一个操作数时计算器所处的状态,如键入“2”后的状态,此时操作数为“2”,或者依次键入“3”、“8”后的状态,此时操作数为“38”。
3.运算结果:键入了“=”键后计算器所处的状态,如依次键入“3+5=”之后计算器的状态。
在此状态如果输入数字,输入的数字将作为第一个操作数,开始一次新的计算。
4.一个操作数和一个两元符号:输入了一个操作数和加减乘除中的一个键后计算器的状态,如依次输入“2+”或“31×5=÷”之后计算器的状态。
5.操作数两元符操作数:输入了一个操作数、一个加减乘除符号和另一个操作数后计算器所处的状态,如依次键入“30÷4”或“3+5=÷5”后计算器的状态。
麦子学院Android开发教程之开发计算器实例
学完了Java(虽说没怎么练手),开始学Android编程。
首先还是做个计算器(感觉这辈子只能做计算器了话说Android的布局真是太方便了,下面是布局文件.例子代码如下:<LinearLayout xmlns:android="/apk/res/android"android:id="@+id/warpcontent"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><HorizontalScrollViewandroid:id="@+id/scrollview"android:layout_width="fill_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/resultText"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="right"android:gravity="right"android:padding="8dp"android:paddingLeft="10dp"android:paddingRight="10dp"android:text="@string/number0"android:textSize="40sp" /></HorizontalScrollView ><TableLayoutandroid:id="@+id/buttonTable"android:layout_width="fill_parent"android:layout_height="0dp"android:layout_weight="1"android:stretchColumns="*" ><TableRowandroid:layout_width="fill_parent"android:layout_height="0dp"android:layout_weight="1" ><Buttonandroid:id="@+id/button7"android:layout_width="wrap_content" android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/number7" /> <Buttonandroid:id="@+id/button8"android:layout_width="wrap_content" android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/number8" /> <Buttonandroid:id="@+id/button9"android:layout_width="wrap_content" android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/number9" /> <Buttonandroid:id="@+id/buttonBackSpace" android:layout_width="wrap_content" android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/backspace" /> <Buttonandroid:id="@+id/buttonClear"android:layout_width="wrap_content" android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/clear" /></TableRow><TableRowandroid:layout_width="fill_parent"android:layout_height="0dp"android:layout_weight="1" ><Buttonandroid:id="@+id/button4"android:layout_width="wrap_content" android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/number4" /> <Buttonandroid:id="@+id/button5"android:layout_width="wrap_content" android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/number5" /> <Buttonandroid:id="@+id/button6"android:layout_width="wrap_content" android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/number6" /><Buttonandroid:id="@+id/buttonMultiply"android:layout_width="wrap_content" android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/multiply" /> <Buttonandroid:id="@+id/buttonDivide"android:layout_width="wrap_content" android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/divide" /></TableRow></TableLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="0dp"android:layout_weight="1"android:orientation="horizontal" ><TableLayoutandroid:layout_width="0dp"android:layout_height="fill_parent"android:layout_weight="3"android:stretchColumns="*" ><TableRowandroid:layout_width="fill_parent"android:layout_height="0dp"android:layout_weight="1" ><Buttonandroid:id="@+id/button1"android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/number1" /> <Buttonandroid:id="@+id/button2"android:layout_width="wrap_content" android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/number2" /> <Buttonandroid:id="@+id/button3"android:layout_width="wrap_content" android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/number3" /> </TableRow><TableRowandroid:layout_width="fill_parent"android:layout_height="0dp"android:layout_weight="1" ><Buttonandroid:id="@+id/button0"android:layout_width="wrap_content" android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/number0" /> <Buttonandroid:id="@+id/buttonDot"android:layout_width="wrap_content"android:onClick="onClickListener"android:text="@string/dot" /><Buttonandroid:id="@+id/buttonNegSign"android:layout_width="wrap_content" android:layout_height="fill_parent" android:onClick="onClickListener"android:text="@string/negSign" /> </TableRow></TableLayout><Buttonandroid:id="@+id/buttonPlus"android:layout_width="0dp"android:layout_height="fill_parent"android:layout_weight="1"android:onClick="onClickListener"android:text="@string/plus" /><LinearLayoutandroid:layout_width="0dp"android:layout_height="fill_parent"android:layout_weight="1"android:orientation="vertical" ><Buttonandroid:id="@+id/buttonMinus"android:layout_width="fill_parent"android:layout_height="0dp"android:layout_weight="1"android:onClick="onClickListener"android:text="@string/minus"/><Buttonandroid:id="@+id/buttonEval"android:layout_width="fill_parent"android:layout_height="0dp"android:layout_weight="1"android:onClick="onClickListener"android:text="@string/eval" /></LinearLayout></LinearLayout></LinearLayout>MainActivity类和之前的java计算器差不多:代码如下package me.jerrys.calc;import java.math.BigDecimal;import android.support.v7.app.ActionBarActivity; import android.app.AlertDialog;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends ActionBarActivity {private TextView textView;private BigDecimal lastNum = new BigDecimal("0");private BigDecimal currentNum = new BigDecimal("0"); private String currentText;private boolean typeClean = false;private boolean hadCalced = false;private MODE currentMode = MODE.PLUS;private enum MODE {PLUS, MINUS, MULTIPLY, DIVIDE}@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(yout.activity_main);textView = (TextView) findViewById(R.id.resultText); }@Overridepublic boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu);return true;}public void onClickListener(View v) {currentText = textView.getText().toString();switch (v.getId()) {case R.id.button0:addNumber("0");break;case R.id.button1:addNumber("1");break;case R.id.button2:addNumber("2");break;case R.id.button3:addNumber("3");case R.id.button4:addNumber("4");break;case R.id.button5:addNumber("5");break;case R.id.button6:addNumber("6");break;case R.id.button7:addNumber("7");break;case R.id.button8:addNumber("8");break;case R.id.button9:addNumber("9");break;case R.id.buttonNegSign: addSign();break;case R.id.buttonClear:clear();break;case R.id.buttonBackSpace: backSpace();break;case R.id.buttonPlus:setMode(MODE.PLUS);case R.id.buttonMinus:setMode(MODE.MINUS);break;case R.id.buttonMultiply:setMode(MODE.MULTIPLY);break;case R.id.buttonDivide:setMode(MODE.DIVIDE);break;case R.id.buttonEval:calc();break;case R.id.buttonDot:addNumber(".");break;}}private void calc() {if (hadCalced && typeClean) return;currentNum = new BigDecimal(currentText); try {switch (currentMode) {case PLUS:lastNum = lastNum.add(currentNum);break;case MINUS:lastNum = lastNum.subtract(currentNum); break;case MULTIPLY:lastNum = lastNum.multiply(currentNum);break;case DIVIDE:lastNum = lastNum.divide(currentNum, 16,BigDecimal.ROUND_HALF_DOWN);break;}} catch (Exception e) {Toast.makeText(getApplicationContext(), "发生错误:"+e.getMessage(), Toast.LENGTH_SHORT).show();return;}String resultText = lastNum.toString();if (resultText.indexOf(".") > 0) { // 消除小数多余位数resultText = resultText.replaceAll("0+?$", "");resultText = resultText.replaceAll("[.]$", "");}setResultText(resultText);typeClean = true;hadCalced = false;}private void setMode(MODE mode) {if (!hadCalced && !typeClean) {calc();currentMode = mode;return;}lastNum = new BigDecimal(currentText);currentMode = mode;typeClean = true;hadCalced = true;}private void addSign() {if (currentText.equals("0") || currentText.equals("")) return;if (currentText.startsWith("-")) setResultText(currentText.substring(1)); else setResultText("-" + currentText);}private void clear() {currentNum = new BigDecimal("0");lastNum = new BigDecimal("0");typeClean = false;currentMode = MODE.PLUS;setResultText("0");}private void setResultText(String string) {textView.setText(string);}public void addNumber(String num) {String resultText = currentText;if (typeClean == true) {resultText = "0";typeClean = false;}if (num.equals(".") && stIndexOf(".") != -1) return;if ((resultText.equals("0") || resultText.equals(""))&& !num.equals("."))resultText = "";resultText = resultText + num;setResultText(resultText);}private void backSpace() {if (currentText.equals("0") || currentText.equals("")) return;if (currentText.length() == 1) {setResultText("0");return;}setResultText(currentText.substring(0, currentText.length() - 1));}@Override<LinearLayout xmlns:android=" "public boolean onOptionsItemSelected(MenuItem item) {if (item.getItemId() == R.id.action_about) {new AlertDialog.Builder(this).setTitle("关于").setMessage("/android-simple-calc").setPositiveButton("确定", null).show();return true;}return super.onOptionsItemSelected(item);}}。
《Android基础》基于Android的简易计算机的设计与实现
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity implements OnClickListener{
btMul=(Button) findViewById(R.id.btMul);
btDivide=(Button) findViewById(R.id.btDivide);
btEqu=(Button) findViewById(R.id.btEqu);
btClear=(Button) findViewById(R.id.btClear);
btSix=(Button) indViewById(R.id.btSix);
btSeven=(Button) findViewById(R.id.btSeven);
btEight=(Button) findViewById(R.id.btEight);
btNine=(Button) findViewById(R.id.btNine);
btDivide.setOnClickListener(this);
btEqu.setOnClickListener(this);
btClear.setOnClickListener(this);
btDel.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
android开发程序——计算器
南昌航空大学实验报告年月日课程名称:Android 实验名称:计算器班级:11201221 姓名:林平君同组人:指导教师评定:签名:一.实验目的1.熟悉Android的项目的开发2.理解最少一种布局方式,本实验利用RelativeLayout3.理解后台代码如何控制前台的控件4.实现两个activity间进行切换二.实验要求1.完成计算器的四则法则运算2.要有清屏3.布局比较美观4.两个activity正常的切换三.源代码与分析布局:本实验用的RelativeLayout布局:关键点是要掌握RelativeLayout布局的设置属性,要熟记于心。
对起始页的设计:<ImageButtonandroid:id="@+id/imageButtonId"android:layout_width="match_parent"android:layout_height="wrap_content"android:src="@drawable/smile"/><TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center_horizontal"android:layout_below="@id/imageButtonId"android:textSize="30dp"android:textColor="#808000"android:background="#DCDCDC"android:layout_marginTop="30dp"android:layout_marginBottom="15dp"android:padding="5dp"android:text="欢迎使用Beyond的计算器"/> <Buttonandroid:id="@+id/button"android:layout_below="@id/textView"android:layout_width="match_parent"android:layout_height="wrap_content"android:padding="5dp"android:text="开始使用"/>效果如图:计算器主要界面:Xml代码:<TextViewandroid:id="@+id/blanktextView1"android:layout_width="match_parent"android:layout_height="80dp"android:textSize="30sp"android:background="#D2B48C"android:hint="请输入"/><Buttonandroid:id="@+id/blankButton"android:layout_width="260dp"android:layout_height="50dp"android:background="#8B4513"android:layout_below="@id/blanktextView1"android:layout_alignParentLeft="true"/> <Buttonandroid:id="@+id/deleteButton"android:layout_width="96dp"android:layout_height="50dp"android:background="#5F9EA0"android:layout_below="@id/blanktextView1"android:layout_alignParentRight="true"android:text="清屏"android:textColor="#F5F5F5"/><Buttonandroid:id="@+id/numberButton7"android:layout_width="85dp"android:layout_height="106dp"android:background="#696969"android:layout_below="@id/blankButton"android:layout_alignParentLeft="true"android:layout_marginTop="2dp"android:text="7"android:textColor="#F5F5F5"android:textSize="35sp"/>效果如图:在computer_main.java中1.数字按钮代码分析:class button0Listener implements OnClickListener{@Overridepublic void onClick(View arg0) {button0=(Button)findViewById(R.id.numberButton0);blankTextView=(TextView)findViewById(R.id.blanktextView1);String text = button0.getText().toString();String early=blankTextView.getText().toString();blankTextView.setText(early+text);}}代码分析:以上是一个单击按钮0时,可以获取0的文本。
android开发计算器设计开发报告..
《安卓开发》程序设计报告题目简单计算器开发专业(班级)网工111班姓名张波波学号952937885 (qq)指导教师赵(老师)日期2014.5.7目录一、设计说明: (3)1•设计内容:An droid简单应用程序开发,简单计算器。
(3)2程序说明: (3)二、开发环境: (3)三、概要设计: (3)3.1系统的总体 (3)四、程序流程和系统功能设计 (4)4.1程序流程设计 (4)4.2.系统功能设计 (5)4.3 基于An droid 平台系统具体设计 (5)4.3.1总体模块详细设计 (5)4.3.2输入模块详细设计 (6)4.3.3显示模块详细设计 (7)4.3.4计算模块详细设计 (7)五、计算器系统实现 (8)5.1 An droid应用程序构成 (8)六、截图说明 (9)1、图标 (9)2界面 (9)3运算界面 (10)4错误输入 (10)5设计平台界面 (11)6签名导出apk (11)七、总结 (12)课程设计任务书亠、设计说明:1.设计内容:An droid简单应用程序开发,简单计算器。
2程序说明:1计算器界面友好,方便使用。
2、具有基本的加、减、乘、除功能,还有+—、开方、平方功能。
3、能够判断用户输入运算数是否正确。
4、4、支持小数运算。
5、具有退格功能,能够删除最后一个输入,ce。
6、具有清除功能,删除所有,c。
7、具有结果存储功能,能够显示存储器状态,支持触屏手机。
8、支持最低版本2.0,最高版本4.4。
开发时为4.2二、开发环境:开发环境:本系统是采用Eclipse+EclipseMe+JDK+ADT 作为开发平台。
事实上为了节约时间就直接用Google公司安给的直接绑定好的adt-bundle-windows-x86_64开发,只需要配置下环境变量,无需要关联等操作。
三、概要设计:3.1系统的总体整个程序基于an droid技术开发,出总体模块外主要分为输入模块、显示模块以及计算模块(包括一些其她功能)这三大部分。
Android课程设计
混合运算
当运算式中有加减乘除时, 先运算乘除再算加减
混合运算效果图
其他事件
当光标放在编辑框的时候 不会弹出软键盘
完结 感谢收看
系统运行主界面
采用线性布局,在线性布 局中嵌套线性布局;用了 18个button按钮和一个 EditText控件,形成了如右 图的界面
点击事件
点击按钮触发事件,以点 击5为例,代码如右图,运 行效果图如下,其他的按 钮点击雷同
运行效果图
两个数相加
加减乘除逻辑代码与加法 雷同,加法代码如图
加法效果图
Android课程设计 计算器
班级: 学号: 姓名:
计算器简介
现代的电子计算器能进行数学运算的手持电子机器, 拥有集成电路芯片,但结构比电脑简单得多,可以 说是第一代的电子计算机(电脑),且功能也较弱, 但较为方便与廉价,可广泛运用于商业交易中,是 必备的办公用品之一。除显示计算结果外,还常有 溢出指示、错误指示等
基于android的计算器毕业设计报告
基于android的计算器毕业设计报告1. 引言计算器是一种常用的电子设备,用于进行各种数学计算和运算,如加减乘除、平方根、百分比等。
随着智能手机的普及,人们越来越倾向于使用手机上的计算器应用进行数学计算,因此开发一款基于Android平台的计算器应用成为一项有意义的毕业设计。
2. 设计目标本计算器应用的设计目标是满足用户对于高效、准确计算需求的同时,具备友好的用户界面和良好的用户体验。
3. 功能设计3.1 基本计算功能用户可以通过输入数字和运算符,进行基本的加减乘除运算。
计算器应能正确解析用户输入的表达式,并给出准确的结果。
3.2 科学计算功能计算器还应该具备科学计算功能,如平方根、立方根、指数运算、对数运算等。
用户可以通过在界面上选择相应的按钮进行科学计算。
3.3 历史记录功能计算器应能保存用户的历史计算记录,以便用户可以回顾之前的计算过程和结果。
用户可以随时查看特定的历史记录,并可以清除历史记录。
3.4 单位转换功能计算器还应该具备单位转换功能,如长度单位之间的转换,重量单位之间的转换等。
用户可以在界面上选择需要进行的单位转换,并输入相应的数值,计算器将给出转换后的结果。
4. 用户界面设计4.1 主界面主界面应该简洁清晰,并具备直观明了的操作按钮,供用户选择进行不同的计算。
4.2 科学计算界面科学计算界面应该设计为可选展示的,用户可以通过选择按钮在主界面和科学计算界面之间切换。
4.3 历史记录界面历史记录界面应该能够展示用户之前的计算过程和结果,并提供删除历史记录的功能。
4.4 单位转换界面单位转换界面应该设计为可选展示的,用户可以通过选择按钮在主界面和单位转换界面之间切换。
5. 开发技术和工具本计算器应用基于Android平台进行开发,开发工具可选用Android Studio。
开发语言选择Java,使用Android SDK进行开发。
设计界面可以使用XML或者Android布局进行设计。
Android计分器课程设计
Android计分器课程设计一、课程目标知识目标:1. 学生能理解Android计分器的基本原理和功能;2. 学生能掌握在Android Studio中创建计分器应用程序的基本步骤;3. 学生能了解计分器中涉及的数据类型、变量和运算符的使用;4. 学生能掌握计分器的界面设计和事件处理方法。
技能目标:1. 学生能运用所学的知识独立创建一个简单的Android计分器应用程序;2. 学生能在实际操作中熟练使用Android Studio进行界面布局和代码编写;3. 学生能通过调试和优化,提高计分器应用程序的性能和用户体验。
情感态度价值观目标:1. 学生能积极参与课程讨论,主动提出问题和分享心得,培养合作学习的意识;2. 学生在遇到困难时能保持积极的心态,勇于尝试和解决问题,增强自信心;3. 学生能认识到编程在生活中的广泛应用,激发对计算机科学的兴趣和热爱。
课程性质:本课程为实践性较强的课程,注重培养学生的动手能力和创新能力。
学生特点:学生具备一定的计算机基础和编程知识,对Android开发有一定了解。
教学要求:教师应结合实际案例进行讲解,引导学生主动参与实践,鼓励学生提出问题和解决问题,提高学生的编程能力和综合素质。
在教学过程中,注重将课程目标分解为具体的学习成果,以便于后续的教学设计和评估。
二、教学内容1. Android计分器原理及功能介绍- 计分器的基本概念- 计分器在实际应用中的功能需求2. Android Studio开发环境配置- Android Studio的安装与使用- AVD的创建与管理3. 计分器界面设计- 界面布局原理及方法- 使用XML进行界面布局设计4. 计分器功能实现- 数据类型、变量和运算符的使用- Button、TextView等控件的使用及事件处理- 计分逻辑的实现5. 计分器调试与优化- Logcat的使用- 程序调试技巧- 性能优化方法6. 项目实践与展示- 学生分组进行项目实践- 各组展示作品,分享开发经验- 互相评价,提出改进意见教学内容安排与进度:1. 第1课时:Android计分器原理及功能介绍2. 第2课时:Android Studio开发环境配置与界面设计基础3. 第3课时:计分器界面设计与功能实现4. 第4课时:计分器调试与优化5. 第5课时:项目实践与展示教材章节关联:本教学内容与教材中“Android基础”、“Android界面设计”和“Android 事件处理”等章节相关。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android应用程序开发实验报告学号:学生姓名:冯会会指引教师:齐兵辉提交时间: .11.10目录第一章系统分析与设计..................................................................................... 错误!未定义书签。
1.1系统可行性分析............................................................................................. 错误!未定义书签。
1.2系统需求分析 ................................................................................................ 错误!未定义书签。
第二章系统详细设计 ........................................................................................ 错误!未定义书签。
2.1 ACTIVITY详细设计............................................................................................. 错误!未定义书签。
2.2 XML文献详细设计........................................................................................... 错误!未定义书签。
第三章测试运营及总结..................................................................................... 错误!未定义书签。
3.1界面截图 ........................................................................................................ 错误!未定义书签。
3.2运营界面截图 ................................................................................................ 错误!未定义书签。
3.3运营成果截图................................................................................................. 错误!未定义书签。
3.4总结 ................................................................................................................ 错误!未定义书签。
第一章系统分析与设计1.1系统可行性分析可行性研究是为了弄清晰系统开发项目是不是可以实现和值得进行研究过程,事实上是一次大大简化系统分析和系统设计过程,因此,进行可执行性分析是非常必要,也是很重要,通过最初设计目的和进行实时调查得出如下四点可行性分析:(1)技术可行性:Eclipse + Android ADT技术已经较为成熟,通过SUN公司(现被ORCEL公司收购)推出跨平台、动态JA V A语言进行开发。
(2)运营可行性:该系统需要Android虚拟机环境,Eclipse中安装ADT,DDMS等Google Android有关插件。
其运营环境已经相称稳定,它功能丰富,涉及了完备Android程序编码、调试、测试和发布功能,其中支持所有Android 应用开发有关技术,涉及SQLite,Skia,3D制作,Android XML,可以较好发布Android应用程序APK包。
(3)法律可行性:由于是自主开发设计,因此不会构成侵权,在法律上是可行。
通过以上可行性分析,将采用Eclipse+Android ADT + DDMS技术,运用JA V A语言进行系统开发。
1.2 系统需求分析依照分析需求,这个系统必要实现如下功能:(1) 实现简朴数字计算功能。
作为计算器,其核心就是加减乘除。
(2) 可以在手机里面以良好界面。
第二章系统详细设计2.1 activity详细设计package com.example.counter;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {private TextView textView1 = null;private Button buttonzone = null;private Button button1 = null;private Button button2 = null;private Button button3 = null;private Button button4 = null;private Button button5 = null;private Button button6 = null;private Button button7 = null;private Button button8 = null;private Button button9 = null;private Button buttonadd = null;private Button buttonred = null;private Button buttondiv = null;private Button buttonmul = null;private Button buttonpint = null;private Button buttonbai = null;private Button buttongen = null;private Button buttonequal = null;private String x="";private String y="";private double r1=0;private double r2=0;private int i=0;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(yout.activity_main);textView1 = (TextView)findViewById(R.id.textView1);button1 = (Button)findViewById(R.id.button1);button2 = (Button)findViewById(R.id.button2);button3 = (Button)findViewById(R.id.button3);button4 = (Button)findViewById(R.id.button4);button5 = (Button)findViewById(R.id.button5);button6 = (Button)findViewById(R.id.button6);button7 = (Button)findViewById(R.id.button7);button8 = (Button)findViewById(R.id.button8);button9 = (Button)findViewById(R.id.button9); buttonzone = (Button)findViewById(R.id.button0); buttonadd = (Button)findViewById(R.id.buttonadd); buttonred = (Button)findViewById(R.id.buttonred); buttonmul = (Button)findViewById(R.id.buttonmul); buttondiv = (Button)findViewById(R.id.buttondiv); buttonbai = (Button)findViewById(R.id.buttonbai); buttongen = (Button)findViewById(R.id.buttongen); buttonequal = (Button)findViewById(R.id.buttonequal); buttonpint = (Button)findViewById(R.id.buttonpoint);button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubx=x+"1";y=y+"1";textView1.setText(y);}});button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubx=x+"2";y=y+"2";textView1.setText(y);}});button3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubx=x+"3";y=y+"3";textView1.setText(y);}});button4.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubx=x+"4";y=y+"4";textView1.setText(y);}});button5.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubx=x+"5";y=y+"5";textView1.setText(y);}});button6.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubx=x+"6";y=y+"6";textView1.setText(y);}});button7.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubx=x+"7";y=y+"7";textView1.setText(y);}});button8.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubx=x+"8";y=y+"8";textView1.setText(y);}});button9.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubx=x+"9";y=y+"9";textView1.setText(y);}});buttonzone.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubx=x+"0";y=y+"0";textView1.setText(y);}});buttonpint.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubif(x==""){x=0+"."+"";y=0+"."+"";}else {x=x+".";y=y+".";textView1.setText(y);}}});buttonequal.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubif(x!=""){r2=Double.parseDouble(x);x="";switch(i){case 0:textView1.setText(0+"");break;case 1:textView1.setText((r1+r2)+"");break;case 2:textView1.setText((r1-r2)+"");break;case 3:textView1.setText((r1*r2)+"");break;case 4:textView1.setText((r1/r2)+"");break;case 5:textView1.setText((r1%r2)+"");break;}}else{textView1.setText(0+"");x="";y="";}r1=0;r2=0;i=0;x="";y="";}});buttonadd.setOnClickListener(new OnClickListener() { @Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubif(x!=""){r1=Double.parseDouble(x);x="";y=y+"+";textView1.setText(y);i=1;}else {textView1.setText(0+"");}}});buttonred.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubif(x!=""){r1=Double.parseDouble(x);x="";y=y+"-";textView1.setText(y);i=2;}else {textView1.setText(0+"");}}});buttonmul.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubif(x!=""){r1=Double.parseDouble(x);x="";y=y+"*";textView1.setText(y);i=3;}else {textView1.setText(0+"");}}});buttondiv.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubif(x!=""){r1=Double.parseDouble(x);x="";y=y+"/";textView1.setText(y);i=4;}else {textView1.setText(0+"");}}});buttonbai.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubif(x!=""){r1=Double.parseDouble(x);x="";y=y+"%";textView1.setText(y);i=5;}else {textView1.setText(0+"");}}});buttongen.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubif(x!=""){y="1/"+x;textView1.setText(y);r1=1/(Double.parseDouble(x));x=r1+"";}else {textView1.setText(0+"");}}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu;this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main,menu);return true;}}2.2 xml文献详细设计<GridLayout xmlns:android=""xmlns:tools=""android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_gravity="center"android:columnCount="5"android:rowCount="5"tools:context=".MainActivity"><TextViewandroid:id="@+id/textView1"android:layout_width="230dp"android:layout_height="30dp"android:layout_column="0"android:layout_columnSpan="5"android:layout_row="0"android:gravity="right"android:text="@string/result"android:textSize="25sp"/><Buttonandroid:id="@+id/button7"style="?android:attr/buttonStyleSmall"android:layout_column="0"android:layout_gravity="left|top"android:layout_row="1"android:text="@string/seleven"/><Buttonandroid:id="@+id/button8"style="?android:attr/buttonStyleSmall"android:layout_column="1"android:layout_gravity="left|top"android:layout_row="1"android:text="@string/eight"/><Buttonandroid:id="@+id/button9"style="?android:attr/buttonStyleSmall"android:layout_column="2"android:layout_gravity="left|top"android:layout_row="1"android:text="@string/nine"/><Buttonandroid:id="@+id/buttondiv"style="?android:attr/buttonStyleSmall"android:layout_column="3"android:layout_gravity="left|top"android:layout_row="1"android:text="@string/div"/><Buttonandroid:id="@+id/buttonbai"style="?android:attr/buttonStyleSmall"android:layout_column="4"android:layout_gravity="left|top"android:layout_row="1"android:text="@string/bai"/><Buttonandroid:id="@+id/button4"style="?android:attr/buttonStyleSmall"android:layout_column="0"android:layout_gravity="left|top"android:layout_row="2"android:text="@string/four"/><Buttonandroid:id="@+id/button5"style="?android:attr/buttonStyleSmall"android:layout_column="1"android:layout_gravity="left|top"android:layout_row="2"android:text="@string/five"/><Buttonandroid:id="@+id/button6"style="?android:attr/buttonStyleSmall"android:layout_column="2"android:layout_gravity="left|top"android:layout_row="2"android:text="@string/six"/><Buttonandroid:id="@+id/buttonmul"style="?android:attr/buttonStyleSmall"android:layout_column="3"android:layout_gravity="left|top"android:layout_row="2"android:text="@string/mul"/><Buttonandroid:id="@+id/buttongen"style="?android:attr/buttonStyleSmall"android:layout_column="4"android:layout_gravity="left|top"android:layout_row="2"android:text="@string/gen"/><Buttonandroid:id="@+id/button1"style="?android:attr/buttonStyleSmall"android:layout_column="0"android:layout_gravity="left|top"android:layout_row="3"android:text="@string/one"/><Buttonandroid:id="@+id/button2"style="?android:attr/buttonStyleSmall"android:layout_column="1"android:layout_gravity="left|top"android:layout_row="3"android:text="@string/two"/><Buttonandroid:id="@+id/button3"style="?android:attr/buttonStyleSmall"android:layout_column="2"android:layout_gravity="left|top"android:layout_row="3"android:text="@string/three"/><Buttonandroid:id="@+id/buttonred"style="?android:attr/buttonStyleSmall"android:layout_column="3"android:layout_gravity="left|top"android:layout_row="3"android:text="@string/red"/><Buttonandroid:id="@+id/buttonequal"style="?android:attr/buttonStyleSmall"android:layout_width="50dp"android:layout_column="4"android:layout_gravity="fill_vertical"android:layout_row="3"android:layout_rowSpan="2"android:text="@string/equal"/><Buttonandroid:id="@+id/button0"style="?android:attr/buttonStyleSmall"android:layout_column="0"android:layout_gravity="fill"android:layout_row="4"android:layout_columnSpan="2"android:text="@string/zone"/><Buttonandroid:id="@+id/buttonpoint"style="?android:attr/buttonStyleSmall"android:layout_column="2"android:layout_gravity="left|top"android:layout_row="4"android:text="@string/point"/> <Buttonandroid:id="@+id/buttonadd"style="?android:attr/buttonStyleSmall"android:layout_column="3"android:layout_gravity="left|top"android:layout_row="4"android:text="@string/add"/></GridLayout>第三章测试运营及总结3.1 界面截图3.4 总结这次课程设计虽然很简朴但是需要注意地方诸多,例如ID声明,经常由于ID问题浮现程序浮现错误。