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

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4746827.html】到电脑端继续下载(重复下载【60天内】不扣币)。

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(android开发计算器设计开发报告.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

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

1、 Xx大学计算机与电子信息学院 《移动编程技术》 安卓程序开发设计报告---简单计算器 《安卓开发》程序设计报告 题目 简单计算器开发 专业(班级) 网工111班 波波 学号 952937885( ) 指导教师 (老师) 日期 2014.5.7 目录 一、设计说明:3 1.设计容: Android简单应用程序开发,简单计算器。3 2程序说明:3 二、开发环境:3 三、概要设计:3 3.1 系统的总体 3 四、程序流程和系统功能设计4

2、 4.1程序流程设计 4 4.2.系统功能设计 5 4.3基于Android平台系统具体设计 5 4.3.1 总体模块详细设计 5 4.3.2 输入模块详细设计6 4.3.3 显示模块详细设计 7 4.3.4 计算模块详细设计7 五、计算器系统实现 8 5.1 Android应用程序构成 8 六、截图说明9 1、图标9 2界面9 3运算界面9 4错误输入10 5设计平台界面10 6签名导出apk11 七、总结12 课程设计任务书 一、设计说明: 1.设计容: Android简单应用程序开发,简单

3、计算器。 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-

4、windows-x86_64开发,只需要配置下环境变量,无需要关联等操作。 三、概要设计: 3.1 系统的总体  整个程序基于android技术开发,出总体模块外主要分为输入模块、显示模块以与计算模块(包括一些其她功能)这三大部分。在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以与显示最终的计算结果,计算模块部分负责进行数据的运算以与一些其她的功能。 总体模块的作用主要是生成应用程序的主类,控制应用程序的生命周期。 输入模块主要描述了计算器键盘以与键盘的监听即主要负责读取用户的键盘输入以与响应触屏的按键,需要监听手

5、机按键动作以与用指针事件处理方法处理触屏的单击动作(以松开按键为准)。同时提供了较为直观的键盘图形用户界面。 显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以与最终的计算结果,同时还负责显示一些其她的信息。  计算模块则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除、等各种计算功能,记忆数据的相关功能,退格以与清零的功能。  四、程序流程和系统功能设计 4.1程序流程设计  知道了系统的功能以后,我们通过main.xml来建立显示界面,完成后系统开始监听用户的按键输入,每次输入系统都会判断一次用户输入的类型,是数字还是运算符号或

6、者是清除,判断完后分成不同类型如数字,符号,基本运算等等进行进一步的处理,根据用户的要求继续进行下一步的操作,最后计算出最终结果并显示在显示区。 系统流程图如图4-1所示: 4.2.系统功能设计  整个系统的功能比较多,比较复杂,如上所说,可以分为十多个功能模块,但是逻辑上理解其实不算困难,系统包括普通计算功能,包括加减乘除,退格以与清零功能。下面就让我们用图4-2来表示: 4.3基于Android平台系统具体设计  系统除了总体模块以外主要由三大模块来组成,即输入模块,显示模块和计算模块。用系统框图来表示即如图4-3。 4.3.1 总体模块详细设计  总

7、体模块需要完成的任务主要就是系统的程序启动类,需要负责整个系统的生命周期。同时在还要在模块中完成菜单栏的所有功能,即退出程序,记忆数据,显示数据,清除记忆数据这四个功能。  总体模块的功能图如图4-4: 4.3.2 输入模块详细设计 系统如果想完成计算器中的各种功能,首先用户要能进行数据输入,由于是在触屏手机上开发计算器程序,所以要求输入可以直接使用触屏进行,所以在设计的时候就要充分的考虑要这一点。正是由于考虑到这个特殊的地方,所以在进行模块设计中,选择编写输入模块类的时候会特意选取使用了可以支持触屏输入的特殊增强型图形用户界面类。  输入模块主要的任务是描述计算器键盘以与

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

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

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

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

12、事情,以后可以在自己手机上安装自己开发的一些小程序,也是个非常不错的事情,目前还没有个安卓机子,而在其他同学手机测试过后,还是比较不错的。 注:因为有源文件了,并且程序代码也还是比较长,就不在报告里面放代码了。 package ymq.demo03; import android.app.Activity; import android.os.Bundle; import android.view.*; import android.widget.*; public class demo03 extends Activity { /** Called whe

13、n the activity is first created. */ String str=""; EditText et; int c=0,flag=0; double b=0.0,g=0.0,f=0.0; View vi; public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub menu.add(0, 1, 1, "退出"); return super.onCreateOptionsMenu(menu); } Over

14、ride public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub if(item.getItemId()==1){finish();} return super.onOptionsItemSelected(item); } //计算方法 public double calculater(){ switch(c){ case 0:f=g;break; case 1:f=b+g;break; case 2:f=b

15、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); setContentView(R.layout.main); //获得按键 final Button numb

16、er[]=new Button[10]; final Button fuhao[]=new Button[11]; fuhao[0]=(Button)findViewById(R.id.button01); fuhao[1]=(Button)findViewById(R.id.button02); fuhao[2]=(Button)findViewById(R.id.button03); fuhao[3]=(Button)findViewById(R.id.button04); fuhao[4]=(Button)findViewById(R.id.b

17、utton05); fuhao[5]=(Button)findViewById(R.id.button06); fuhao[6]=(Button)findViewById(R.id.buttonce); fuhao[7]=(Button)findViewById(R.id.buttonc); fuhao[8]=(Button)findViewById(R.id.zheng); fuhao[9]=(Button)findViewById(R.id.kaifang); fuhao[10]=(Button)findViewById(R.id.pingfang);

18、 number[0]=(Button)findViewById(R.id.button0); number[1]=(Button)findViewById(R.id.button1); number[2]=(Button)findViewById(R.id.button2); number[3]=(Button)findViewById(R.id.button3); number[4]=(Button)findViewById(R.id.button4); number[5]=(Button)findViewById(R.id.button5); n

19、umber[6]=(Button)findViewById(R.id.button6); number[7]=(Button)findViewById(R.id.button7); number[8]=(Button)findViewById(R.id.button8); number[9]=(Button)findViewById(R.id.button9); et=(EditText) findViewById(R.id.textView1); et.setText(str); fuhao[6].setOn

20、ClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub str=""; et.setText(str); vi=v; } }); fuhao[7].setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Aut

21、o-generated method stub b=0.0;c=0;g=0.0; str=""; et.setText(str); } }); fuhao[8].setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub if(vi!=fuhao[5]&&str!=""){ char ch=str.charAt(0);

22、 if(ch=='-') str=str.replace("-",""); else str="-"+str; et.setText(str); } } }); fuhao[9].setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub if(str!=""){ double a

23、Double.parseDouble(str); str=Math.sqrt(a)+""; et.setText(str); }} }); fuhao[10].setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub if(str!=""){ double a=Double.parseDouble(str); str="

24、"+a*a; et.setText(str); }} }); //设定数字按键 number[0].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;

25、 } else{ char ch1[]; ch1=str.toCharArray(); if(!(ch1.length==1&&ch1[0]=='0')) {str+=0; et.setText(str);} } vi=v; } }); number[1].setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto

26、generated method stub if(flag==1){ str=""; str+=1; et.setText(str); flag=0; } else{ str+=1; et.setText(str); } vi=v; } }); number[2].setOnClickListener(new View.OnClickListener() { public void onClick(View v) {

27、 // TODO Auto-generated method stub if(flag==1){ str=""; str+=2; et.setText(str); flag=0; } else{ str+=2; et.setText(str); } vi=v; } }); number[3].setOnClickListener(new View.OnClickListener() { public void o

28、nClick(View v) { // TODO Auto-generated method stub if(flag==1){ str=""; str+=3; et.setText(str); flag=0; } else{ str+=3; et.setText(str); } vi=v; } }); number[4].setOnClickListener(new View.OnClickListener() {

29、 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; } }); number[5].setOnClickListener(new View.OnCli

30、ckListener() { 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; } }); number[6].setOnClickListen

31、er(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub if(flag==1){ str=""; str+=6; et.setText(str); flag=0; } else{ str+=6; et.setText(str); } vi=v; } }); number[7]

32、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; } });

33、 number[8].setOnClickListener(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;

34、 } }); number[9].setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub if(flag==1){ str=""; str+=9; et.setText(str); flag=0; } else{ str+=9; et.setText(str);

35、 } vi=v; } }); //设定符号键 //加 fuhao[0].setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub if(str!=""){ if(vi==fuhao[0]||vi==fuhao[1]||vi==fuhao[2]||vi==fuhao[3]){

36、 c=1; } else{ g=Double.parseDouble(str); calculater(); str=""+f; et.setText(str); c=1; flag=1; vi=v; }} } }); //减 fuhao[1].setOnClickListener(new View.OnClickListener() { public void onClick(View v) {

37、 // TODO Auto-generated method stub if(str!=""){ if(vi==fuhao[0]||vi==fuhao[1]||vi==fuhao[2]||vi==fuhao[3]){ c=2; } else{ g=Double.parseDouble(str); calculater(); str=""+f; et.setText(str); c=2; flag=1; vi=v; }} } });

38、 //乘 fuhao[2].setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub if(str!=""){ if(vi==fuhao[0]||vi==fuhao[1]||vi==fuhao[2]||vi==fuhao[3]){ c=3; } else{ g=Double.parseDouble(st

39、r); calculater(); str=""+f; et.setText(str); c=3; flag=1; vi=v; }} } }); //除 fuhao[3].setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub if(str!=""){

40、 if(vi==fuhao[0]||vi==fuhao[1]||vi==fuhao[2]||vi==fuhao[3]){ c=4; } else{ g=Double.parseDouble(str); calculater(); str=""+f; et.setText(str); c=4; flag=1; vi=v; }} } }); //等号 fuhao[4].setOnClickList

41、ener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub if(str!=""&&vi!=fuhao[0]&&vi!=fuhao[1]&&vi!=fuhao[2]&&vi!=fuhao[3]){ g=Double.parseDouble(str); calculater(); str=""+f; et.setText(str); flag=1; vi=v

42、 } } }); //小数点 fuhao[5].setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub if(str==""){ str+="."; et.setText(str); } else{ char ch1[];int x=0; ch1=str.toCharArray(); for(int i=0;i

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服