android开发计算器课程设计

合集下载

安卓计算器设计报告

安卓计算器设计报告

数学与信息技术学院嵌入式系统课程设计报告设计题目:数字计算器的设计与实现班级:学号:姓名:指导教师:完成日期:成绩:目录1 绪论 (1)1.2 研究的范围及达到的技术要求 (1)1.3 解决的主要问题 (1)1.4 设计的指导思想 (1)2 需求分析 (2)2.1 设计需求分析 (2)2.2 系统目标 (2)2.3 主体功能 (2)2.4 开发环境 (2)3 总体设计 (3)3.1 程序流程和系统功能设计 (3)3.1.1 程序流程设计 (3)3.3 程序设计的基本思路 (4)3.3.2 总体布局 (5)3.3.3 按钮事件处理 (6)4 详细设计 (6)4.1 输入模块详细设计 (6)4.2 显示模块详细设计 (7)4.3 计算模块详细设计 (7)5 编码 (8)5.1 用户界面代码设计 (8)5.1.1 activity_main.xml布局文件 (8)5.1.2 MainActivity.java主要功能文件 (9)6 结论 (12)6.1 实现的功能 (12)6.2 主要的问题 (12)数字计算器的设计与实验1 绪论1.1 设计的目的及意义(1)本课程设计的目的是通过开发一个数字计算机器,了解嵌入式产品开发的主要步骤,包括需求分析、系统结构设计、图形界面设计、驱动设计、功能优化、系统测试等,培养独立完成比较复杂的实际设计的能力。

(2)本课程设计主要是实现Android计算器,用于Android系统的用户的使用,本计算器可以实现加、减、乘、除、开方、平方等运算功能,方便了用户对于一些简单数据的计算,节省了用户的时间。

1.2 研究的范围及达到的技术要求本课程设计主要研究计算器的实现方法,应达到计算器界面友好,方便使用,具有基本的加、减、乘、除功能,支持小数运算,具有退格功能,能够删除最后一个输入,具有清除功能,即“C”。

1.3解决的主要问题随着信息时代的步伐加快,日常生活的开支、大额数字、多倍小数等的计算都需要计算器的帮助,处理数字的开方、平方同样也离不开计算器。

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的科学计算器的课设

基于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开发——简易计算器的设计报告

简易计算机的设计摘要: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计算器设计文档.

实验报告课程名称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开发程序——计算器

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开发计算器设计开发报告..

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课程设计

Android课程设计

混合运算
当运算式中有加减乘除时, 先运算乘除再算加减
混合运算效果图
其他事件
当光标放在编辑框的时候 不会弹出软键盘
完结 感谢收看
系统运行主界面
采用线性布局,在线性布 局中嵌套线性布局;用了 18个button按钮和一个 EditText控件,形成了如右 图的界面

点击事件
点击按钮触发事件,以点 击5为例,代码如右图,运 行效果图如下,其他的按 钮点击雷同
运行效果图
两个数相加
加减乘除逻辑代码与加法 雷同,加法代码如图
加法效果图
Android课程设计 计算器
班级: 学号: 姓名:
计算器简介
现代的电子计算器能进行数学运算的手持电子机器, 拥有集成电路芯片,但结构比电脑简单得多,可以 说是第一代的电子计算机(电脑),且功能也较弱, 但较为方便与廉价,可广泛运用于商业交易中,是 必备的办公用品之一。除显示计算结果外,还常有 溢出指示、错误指示等

Android开发实战:创建一个简单的计算器应用(一)

Android开发实战:创建一个简单的计算器应用(一)

Android开发实战:创建一个简单的计算器应用在当今的移动应用开发领域,Android平台凭借其广泛的用户群体和开放的生态系统成为了最受关注和热门的开发平台之一。

本文将引导读者通过实际案例,学习如何使用Android Studio和Java语言开发一个简单的计算器应用。

第一步:创建项目打开Android Studio并选择“创建新项目”,然后填写应用的名称和包名等信息。

选择适当的最低API级别和目标API级别,这取决于您所需的最低兼容版本和目标用户群。

第二步:设计界面在项目结构中打开“res”文件夹,然后右击“layout”文件夹并选择“新建布局资源文件”。

在弹出的对话框中输入布局文件的名称,并选择“约束布局”作为根布局。

通过拖拽和调整视图的位置和大小,设计一个简洁明了的计算器界面,包括数字按钮、运算符按钮和显示结果的文本框。

第三步:编写代码在“java”文件夹下的包名文件夹中,找到并打开“”文件。

在类的内部,创建必要的成员变量和UI元素的引用,如按钮和文本框。

然后,在“onCreate”方法中使用“findViewById”方法将UI元素与代码中的实例进行关联。

接下来,编写计算逻辑的代码。

您可以使用Java语言提供的数学运算方法,例如“add”、“subtract”、“multiply”和“divide”等。

在用户点击等号按钮时,获取用户输入的数字和运算符,并将其传递给计算方法进行计算。

最后,将计算结果显示在文本框中。

第四步:测试和调试使用模拟器或真实设备运行应用,并在计算器界面上测试各种场景和功能。

确保计算逻辑和用户交互的一致性,并处理各种可能的异常情况。

如果发现问题或错误,使用调试工具和日志输出来跟踪和修复错误。

第五步:发布应用一旦您对应用的功能和用户体验感到满意,您可以将其准备以APK文件的形式发布到Google Play商店或其他应用市场。

在发布前,确保应用的版本号、应用图标、应用截图和应用描述等信息准备完备。

基于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开发计算器课程设计

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计分器课程设计一、课程目标知识目标: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 事件处理”等章节相关。

《Android编程技术》---基于Android的简易的计算器的设计与实现

《Android编程技术》---基于Android的简易的计算器的设计与实现
clear_flag=false;
etinput="";
etInput.setText("");
}
etInput.setText(etinput+((Button)v).getText());//点击数字和小数点直接显示内容
break;
caseR.id.btJia:
caseR.id.btJian:
caseR.id.btMul:
btMul.setOnClickListener(this);
btDivide.setOnClickListener(this);
btEqu.setOnClickListener(this);
btClear.setOnClickListener(this);
btDel.setOnClickListener(this);
cleБайду номын сангаасr_flag=false;
return;
}
clear_flag=true;
doubleresult=0;
String s1=exp.substring(0,exp.indexOf(" "));//运算符前面的字符串
String op=exp.substring(exp.indexOf(" ")+1,exp.indexOf(" ")+2);//运算符,是根据运算符前边的空格计算的
privateButtonbtJian;
privateButtonbtMul;
privateButtonbtDivide;
privateButtonbtEqu;
privateButtonbtClear;

基于安卓的计算器的设计与实现

基于安卓的计算器的设计与实现

基于安卓的计算器的设计与实现在设计和实现基于安卓的计算器时,需要考虑以下几个重要的方面:用户界面设计、计算逻辑实现和功能扩展。

首先,用户界面设计是一个计算器的重要组成部分。

一个简洁直观、易于使用的界面可以提供良好的用户体验。

可以考虑使用标准计算器的布局,包括数字键盘、运算符按钮和显示结果的文本框。

此外,还可以添加一些额外的功能,比如一键清除按钮、括号按钮和科学计算模式切换按钮等。

考虑到不同屏幕尺寸和定制化需求,应该使用相对布局或者网格布局来放置UI元素。

其次,计算逻辑实现是计算器的核心部分。

需要支持基本的四则运算,包括加法、减法、乘法和除法。

为了实现连续运算和操作优先级,可以使用栈或者逆波兰表示法。

在用户输入数字和运算符时,应该及时更新显示结果的文本框。

另外,还应该考虑异常情况的处理,比如除数为零的情况。

最后,功能扩展是一个好的设计的关键。

除了基本的四则运算,还可以考虑添加一些其他功能,比如开方、求平方、取余、倒数、阶乘等。

另外,还可以添加一个历史记录功能,记录用户的计算过程和结果,方便用户查看和回顾。

此外,还可以添加一个单位转换功能,支持常见的长度、重量、温度、时间、速度等单位之间的转换。

在实际开发中,可以使用Android Studio作为开发工具。

Android Studio提供了丰富的界面设计工具和模拟器,可以方便地进行界面布局和调试。

可以使用Java语言进行开发,使用Android提供的API来处理用户输入和展示结果。

在代码实现中,可以使用按钮点击事件来处理用户输入。

当用户点击数字按钮时,将所点击的数字添加到一个临时变量中,当用户点击运算符按钮时,将临时变量中的数字和运算符添加到运算式中,并清空临时变量。

当用户点击等号按钮时,根据运算式中的数字和运算符进行实际的计算,并将结果显示在结果文本框中。

当用户点击清空按钮时,将运算式和结果文本框清空。

除了基本逻辑实现外,还可以进行一些优化和改进。

基于android的计算器毕业设计报

基于android的计算器毕业设计报

基于Android的计算器毕业设计报告一、引言随着移动设备的普及,人们对于计算器的需求已经不再局限于桌面电脑。

特别是在Android平台上,由于其开放性和灵活性,使得开发人员可以方便地为其开发各种应用。

本次毕业设计就是开发一款基于Android平台的计算器应用,以满足人们在移动设备上进行基本数学计算的需求。

二、系统分析1.功能需求:本计算器应用需要满足基本数学计算需求,包括加减乘除四则运算,以及括号、百分比、平方、立方等特殊运算。

同时,还需要提供清除、撤销等便捷操作。

2.性能需求:为了保证应用的流畅性和稳定性,需要保证应用的响应速度和计算准确性。

同时,考虑到移动设备的电池寿命,还需要优化电量消耗。

3.用户界面需求:界面需要简洁明了,易于操作。

色彩和图标设计也需要符合Android平台的规范和用户习惯。

三、系统设计1.界面设计:采用Material Design风格,主界面包括数字按键区和操作符选择区。

为了方便用户操作,还添加了滑动输入功能,用户可以通过滑动数字或运算符来选择所需的数字或运算符。

2.算法设计:为了保证计算的准确性,我们采用了双精度浮点数存储数据,并使用Java的BigDecimal类进行运算。

这样既可以保证计算的精度,又可以避免由于浮点数运算产生的误差。

3.数据库设计:为了保存用户的计算历史记录,我们使用了Android的SQLite数据库来存储数据。

每个记录包括计算式和计算结果两个字段。

四、系统实现1.界面实现:我们使用了Android的原生开发方式,通过XML布局文件定义界面结构,通过Java代码实现界面逻辑。

同时,为了提高用户体验,我们还添加了一些动画效果和音效。

2.算法实现:我们使用了Java的BigDecimal类进行数学运算。

通过BigDecimal的multiply()和divide()方法可以实现乘法和除法运算,通过add()和subtract()方法可以实现加法和减法运算。

android计算机课程设计

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简单计算器课程设计要点

摘要Android是当今最重要的手机开发平台之一,它是建立在Java基础之上的,能够迅速建立手机软件的解决方案。

Android的功能十分强大,成为当今软件行业的一股新兴力量。

Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具有以下5个特点:开放性、应用程序无界限、应用程序是在平等条件下创建的,应用程序可以轻松的嵌入网络、应用程序可以并行运行。

而简单计算器又是手机上必备的小程序,所以此次创新实践很有意义。

并且具有很强的使用性。

关键字:Android Java基础计算器目录第1章开发工具与环境 (1)1.1 Android平台 (1)1.2 Java开发环境 (1)1.3 Eclipse (1)1.4 Android程序基础—Android应用程序的构成 (2)第2章系统分析与设计 (4)2.1系统的可行性分析 (4)2.2 系统的需求分析 (4)2.3 系统的优势 (4)2.4 系统的流程图 (5)第3章系统详细设计 (6)3.1 动作Activity (6)3.2 布局文件XML (6)3.3 Activity的详细设计 (7)3.2 布局文件XML的详细设计 (21)3.2 系统的运行结果 (24)结论 (25)参考文献 (26)第1章开发工具与环境1.1 Android平台1.谷歌与开放手机联盟合作开发了Android, 这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。

2.Android是一个真正意义上的开放性移动设备综合平台。

通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。

3.所有的Android应用之间是完全平等的。

4.所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。

Android简单计算器课程设计

Android简单计算器课程设计

Android简单计算器课程设计广东工业大学华立学院课程名称手机游戏开发题目名称简单计算器学生学部,系, 机电与信息工程学部专业班级 12计算机科学与技术2班学号学生姓名任课教师2015年 6月 20日一、课程考试,设计,的内容基于Android平台的简单计算器二、课程考试,设计,的要求清晰描述应用的策略和基本框架~并设计相关的类~描述各个类的作用和关系~画出类图关系~叙述使用到的技术点。

目录1课程综述 .............................................. 错误~未定义书签。

2 手机应用设计.......................................... 错误~未定义书签。

2.1 开发背景...................................................................... ........................................................................ 错误~未定义书签。

2.2 设计思想...................................................................... ........................................................................ 错误~未定义书签。

2.3 策略描述.............................................................................................................................................. 错误~未定义书签。

2.4 设计将达到的目标 ..................................................................... ....................................................... 错误~未定义书签。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Android应用程序开发实验报告学号:131006105学生姓名: 冯会会指导教师:齐兵辉提交时间:2015.11.10目录第一章系统分析与设计 (3)1.1系统的可行性分析 (3)1.2系统的需求分析 (3)第二章系统详细设计 (3)2.1 ACTIVITY的详细设计 (3)2.2 XML文件的详细设计 (14)第三章测试运行及总结 (20)3.1界面截图 (20)3.2运行界面截图 (21)3.3运行结果截图 (22)3.4总结 (22)第一章系统分析与设计1.1系统的可行性分析可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的实时调查得出以下四点的可行性分析:(1)技术可行性:Eclipse + Android ADT的技术已经较为成熟,通过SUN 公司(现被ORCEL公司收购)推出的跨平台、动态的JAVA语言进行开发。

(2)运行可行性:该系统需要Android虚拟机环境,Eclipse中安装ADT,DDMS等Google Android相关插件。

其运行环境已经相当稳定,它功能丰富,包括了完备的Android程序的编码、调试、测试和发布功能,其中支持所有Android应用开发相关技术,包括SQLite,Skia,3D制作,Android XML,能够很好的发布Android的应用程序APK包。

(3)法律可行性:因为是自主开发设计,所以不会构成侵权,在法律上是可行的。

通过以上的可行性分析,将采用Eclipse+Android ADT + DDMS技术,运用JAVA语言进行系统的开发。

1.2 系统的需求分析根据分析需求,这个系统必须实现以下的功能:(1) 实现简单的数字计算功能。

作为计算器,其核心就是加减乘除。

(2) 能够在手机里面以良好的界面。

第二章系统详细设计2.1 activity的详细设计package .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="schemas.android./apk/res/android"xmlns:tools="schemas.android./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的问题出现程序出现错误。

相关文档
最新文档