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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

android开发计算器设计开发报告.docx

1、android开发计算器设计开发报告Xx大学计算机与电子信息学院 移动编程技术 安卓程序开发设计报告-简单计算器安卓开发程序设计报告题目简单计算器开发专业(班级)网工111班姓名张波波学号指导教师赵(老师)日期2014.5.7一、设计说明: 31.设计内容: Android简单应用程序开发,简单计算器。 32程序说明: 3二、开发环境: 3三、概要设计: 33.1?系统的总体? 3四、程序流程和系统功能设计 44.1程序流程设计? 44.2.系统功能设计? 54.3基于Android平台系统具体设计? 54.3.1?总体模块详细设计? 54.3.2?输入模块详细设计 64.3.3?显示模块详细

2、设计? 74.3.4?计算模块详细设计 7五、计算器系统实现? 85.1?Android应用程序构成? 8六、截图说明 91、图标 92界面 93运算界面 94错误输入 105设计平台界面 106签名导出apk 11七、总结 12 课程设计任务书一、设计说明:1.设计内容: Android简单应用程序开发,简单计算器。2程序说明:1、计算器界面友好,方便使用。2、具有基本的加、减、乘、除功能,还有+、开方、平方功能。3、能够判断用户输入运算数是否正确。4、4、支持小数运算。5、具有退格功能,能够删除最后一个输入,ce。6、具有清除功能,删除所有,c。7、具有结果存储功能,能够显示存储器状态,支

3、持触屏手机。?8、支持最低版本2.0,最高版本4.4。开发时为4.2二、开发环境:开发环境:本系统是采用Eclipse+EclipseMe+JDK+ADT作为开发平台。事实上为了节约时间就直接用Google公司安给的直接绑定好的adt-bundle-windows-x86_64开发,只需要配置下环境变量,无需要关联等操作。三、概要设计:3.1?系统的总体?整个程序基于android技术开发,出总体模块外主要分为输入模块、显示模块以及计算模块(包括一些其她功能)这三大部分。在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以及显示最

4、终的计算结果,计算模块部分负责进行数据的运算以及一些其她的功能。总体模块的作用主要是生成应用程序的主类,控制应用程序的生命周期。?输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机按键动作以及用指针事件处理方法处理触屏的单击动作(以松开按键为准)。同时提供了较为直观的键盘图形用户界面。显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时还负责显示一些其她的信息。?计算模块则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除、等各种计算功能,记忆数据的相关功能,退格以及清零的功能

5、。?四、程序流程和系统功能设计4.1程序流程设计?知道了系统的功能以后,我们通过main.xml来建立显示界面,完成后系统开始监听用户的按键输入,每次输入系统都会判断一次用户输入的类型,是数字还是运算符号或者是清除,判断完后分成不同类型如数字,符号,基本运算等等进行进一步的处理,根据用户的要求继续进行下一步的操作,最后计算出最终结果并显示在显示区。系统流程图如图4-1所示:4.2.系统功能设计?整个系统的功能比较多,比较复杂,如上所说,可以分为十多个功能模块,但是逻辑上理解其实不算困难,系统包括普通计算功能,包括加减乘除,退格以及清零功能。下面就让我们用图4-2来表示:4.3基于Android

6、平台系统具体设计?系统除了总体模块以外主要由三大模块来组成,即输入模块,显示模块和计算模块。用系统框图来表示即如图4-3。4.3.1?总体模块详细设计?总体模块需要完成的任务主要就是系统的程序启动类,需要负责整个系统的生命周期。同时在还要在模块中完成菜单栏的所有功能,即退出程序,记忆数据,显示数据,清除记忆数据这四个功能。?总体模块的功能图如图4-4:4.3.2?输入模块详细设计系统如果想完成计算器中的各种功能,首先用户要能进行数据输入,由于是在触屏手机上开发计算器程序,所以要求输入可以直接使用触屏进行,所以在设计的时候就要充分的考虑要这一点。正是由于考虑到这个特殊的地方,所以在进行模块设计中

7、,选择编写输入模块类的时候会特意选取使用了可以支持触屏输入的特殊增强型图形用户界面类。?输入模块主要的任务是描述计算器键盘以及实现键盘的监听,即当用户点击按键或者屏幕的时候监听器会去调用相应的处理办法,本模块还需要为系统提供了一个较为直观的键盘图形用户界面。输入模块的功能图如图4-5:4.3.3?显示模块详细设计?显示模块主要要完成的任务是描述计算器的显示区,该区域用于显示用户输入的数据以及最终的计算结果和一些其她信息。同时本模块还将提供调用和设置显示的具体方法。显示模块的功能图如图3-6:4.3.4?计算模块详细设计系统想要能在屏幕上显示出计算器的样子要有整体的布局,在本模块中要完成布局的具

8、体设计,使用户能够看到整个计算器的画面。同时系统想完成计算功能必须要处理用户的输入,当输入模块的监听传到计算模块中时,计算模块就要根据相应的方法进行进一步的处理。这部分主要是对输入进行的逻辑判断,基本会通过if?else来实现逻辑判断。计算模块的功能图如图3-7:五、计算器系统实现?5.1?Android应用程序构成?Android应用程序一般是由Activity、Serviece、Content?Provider、Intent、Intent?Receiver、Notification六个组件构成。但并非每一个Android应用程序都包含这六个组件。(1)Activity(活动):应用程序的表

9、示层。Activity是Android的基本组件。(2)(2)Service(服务):Android应用程序的后台运行组件。?(3)Content?Provider(内容提供器):用来管理和分享应用程序数据库。(4)(4)Intent(意向):Activity之间的粘合剂。使用Intent,可以在系统范围内向目标活动或者服务广播消息,说明希望执行某个动作的意图。(5)Intent?Receiver(意向接收器):通过Intent?Receiver实现应用能够对一个外部的事件作出响应,Intent?Receiver在AndroidManifest.xml中注册,但也可以在代码中使用Context

10、.registerReceiver()进行注册。?六、截图说明1、图标2界面3运算界面4错误输入5设计平台界面6签名导出apk七、总结课程设计终于在我的努力下做完了。这个时候我更加深入的了解了Java的特点以及一些相关知识。 与其临渊羡鱼,不如退而结网。这次Android课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。如果你连失败都不怕了,那你还怕什么,拾起懒惰的心,勤奋着就会走向成功斩。这次的课程设计在我未来的时日里,是一个标杆,因为它告诉了我,只要我努力没有什么事我做不好的。安卓开发是个很有意思的事情,以后可以在自己手机上安装自己开发的一些小程

11、序,也是个非常不错的事情,目前还没有个安卓机子,而在其他同学手机测试过后,还是比较不错的。注:因为有源文件了,并且程序代码也还是比较长,就不在报告里面放代码了。package ymq.demo03;import android.view.*;import android.widget.*;public class demo03 extends Activity /* Called when the activity is first created. */ String str=; EditText et; int c=0,flag=0; double b=0.0,g=0.0,f=0.0; V

12、iew vi; public boolean onCreateOptionsMenu(Menu menu) / TODO Auto-generated method stub menu.add(0, 1, 1, 退出); return super.onCreateOptionsMenu(menu); Override public boolean onOptionsItemSelected(MenuItem item) / TODO Auto-generated method stub if(item.getItemId()=1)finish(); return super.onOptions

13、ItemSelected(item); /计算方法 public double calculater() switch(c) case 0:f=g;break; case 1:f=b+g;break; case 2:f=b-g;break; case 3:f=b*g;break; case 4:f=b/g;break; b=f; c=0; return f; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); /获得按键 final Button number=

14、new Button10; final Button fuhao=new Button11; et.setText(str); fuhao6.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub str=; et.setText(str); vi=v; ); fuhao7.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO A

15、uto-generated method stub b=0.0;c=0;g=0.0; str=; et.setText(str); ); fuhao8.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub if(vi!=fuhao5&str!=) char ch=str.charAt(0); if(ch=-) str=str.replace(-,); else str=-+str; et.setText(str); ); fuhao9

16、.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub if(str!=) double a=Double.parseDouble(str); str=Math.sqrt(a)+; et.setText(str); ); fuhao10.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated meth

17、od stub if(str!=) double a=Double.parseDouble(str); str=+a*a; et.setText(str); ); /设定数字按键 number0.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub if(flag=1) str=; str+=0; et.setText(str); flag=0; else char ch1; ch1=str.toCharArray(); if(!(c

18、h1.length=1&ch10=0) str+=0; et.setText(str); vi=v; ); number1.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub if(flag=1) str=; str+=1; et.setText(str); flag=0; else str+=1; et.setText(str); vi=v; ); number2.setOnClickListener(new View.OnCli

19、ckListener() public void onClick(View v) / TODO Auto-generated method stub if(flag=1) str=; str+=2; et.setText(str); flag=0; else str+=2; et.setText(str); vi=v; ); number3.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub if(flag=1) str=; str

20、+=3; et.setText(str); flag=0; else str+=3; et.setText(str); vi=v; ); number4.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub if(flag=1) str=; str+=4; et.setText(str); flag=0; else str+=4; et.setText(str); vi=v; ); number5.setOnClickListener

21、(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub if(flag=1) str=; str+=5; et.setText(str); flag=0; else str+=5; et.setText(str); vi=v; ); number6.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub if(fl

22、ag=1) str=; str+=6; et.setText(str); flag=0; else str+=6; et.setText(str); vi=v; ); number7.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub if(flag=1) str=; str+=7; et.setText(str); flag=0; else str+=7; et.setText(str); vi=v; ); number8.set

23、OnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub if(flag=1) str=; str+=8; et.setText(str); flag=0; else str+=8; et.setText(str); vi=v; ); number9.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated me

24、thod stub if(flag=1) str=; str+=9; et.setText(str); flag=0; else str+=9; et.setText(str); vi=v; ); /设定符号键 /加 fuhao0.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub if(str!=) if(vi=fuhao0|vi=fuhao1|vi=fuhao2|vi=fuhao3) c=1; else g=Double.par

25、seDouble(str); calculater(); str=+f; et.setText(str); c=1; flag=1; vi=v; ); /减 fuhao1.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub if(str!=) if(vi=fuhao0|vi=fuhao1|vi=fuhao2|vi=fuhao3) c=2; else g=Double.parseDouble(str); calculater(); s

26、tr=+f; et.setText(str); c=2; flag=1; vi=v; ); /乘 fuhao2.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated method stub if(str!=) if(vi=fuhao0|vi=fuhao1|vi=fuhao2|vi=fuhao3) c=3; else g=Double.parseDouble(str); calculater(); str=+f; et.setText(str); c=3; flag=1; vi=v; ); /除 fuhao3.setOnClickListener(new View.OnClickListener() public void onClick(View v) / TODO Auto-generated m

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

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