android开发计算器课程设计.doc
《android开发计算器课程设计.doc》由会员分享,可在线阅读,更多相关《android开发计算器课程设计.doc(22页珍藏版)》请在咨信网上搜索。
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; publicclass 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=""; privatedoubler1=0; privatedoubler2=0; privateinti=0; Override protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.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() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub x=x+"1"; y=y+"1"; textView1.setText(y); } }); button2.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub x=x+"2"; y=y+"2"; textView1.setText(y); } }); button3.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub x=x+"3"; y=y+"3"; textView1.setText(y); } }); button4.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub x=x+"4"; y=y+"4"; textView1.setText(y); } }); button5.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub x=x+"5"; y=y+"5"; textView1.setText(y); } }); button6.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub x=x+"6"; y=y+"6"; textView1.setText(y); } }); button7.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub x=x+"7"; y=y+"7"; textView1.setText(y); } }); button8.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub x=x+"8"; y=y+"8"; textView1.setText(y); } }); button9.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub x=x+"9"; y=y+"9"; textView1.setText(y); } }); buttonzone.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub x=x+"0"; y=y+"0"; textView1.setText(y); } }); buttonpint.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub if(x==""){ x=0+"."+""; y=0+"."+""; } else { x=x+"."; y=y+"."; textView1.setText(y); } } }); buttonequal.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub if(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() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub if(x!=""){ r1=Double.parseDouble(x); x=""; y=y+"+"; textView1.setText(y); i=1; } else { textView1.setText(0+""); } } }); buttonred.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub if(x!=""){ r1=Double.parseDouble(x); x=""; y=y+"-"; textView1.setText(y); i=2; } else { textView1.setText(0+""); } } }); buttonmul.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub if(x!=""){ r1=Double.parseDouble(x); x=""; y=y+"*"; textView1.setText(y); i=3; } else { textView1.setText(0+""); } } }); buttondiv.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub if(x!=""){ r1=Double.parseDouble(x); x=""; y=y+"/"; textView1.setText(y); i=4; } else { textView1.setText(0+""); } } }); buttonbai.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub if(x!=""){ r1=Double.parseDouble(x); x=""; y=y+"%"; textView1.setText(y); i=5; } else { textView1.setText(0+""); } } }); buttongen.setOnClickListener(new OnClickListener() { Override publicvoid onClick(View arg0) { // TODO Auto-generated method stub if(x!=""){ y="1/"+x; textView1.setText(y); r1=1/(Double.parseDouble(x)); x=r1+""; } else { textView1.setText(0+""); } } }); } Override publicboolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); returntrue; } } 2.2 xml文件的详细设计 <GridLayoutxmlns: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"> <TextView android: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"/> <Button android:id="+id/button7" style="?android:attr/buttonStyleSmall" android:layout_column="0" android:layout_gravity="left|top" android:layout_row="1" android:text="string/seleven"/> <Button android:id="+id/button8" style="?android:attr/buttonStyleSmall" android:layout_column="1" android:layout_gravity="left|top" android:layout_row="1" android:text="string/eight"/> <Button android:id="+id/button9" style="?android:attr/buttonStyleSmall" android:layout_column="2" android:layout_gravity="left|top" android:layout_row="1" android:text="string/nine"/> <Button android:id="+id/buttondiv" style="?android:attr/buttonStyleSmall" android:layout_column="3" android:layout_gravity="left|top" android:layout_row="1" android:text="string/div"/> <Button android:id="+id/buttonbai" style="?android:attr/buttonStyleSmall" android:layout_column="4" android:layout_gravity="left|top" android:layout_row="1" android:text="string/bai"/> <Button android:id="+id/button4" style="?android:attr/buttonStyleSmall" android:layout_column="0" android:layout_gravity="left|top" android:layout_row="2" android:text="string/four"/> <Button android:id="+id/button5" style="?android:attr/buttonStyleSmall" android:layout_column="1" android:layout_gravity="left|top" android:layout_row="2" android:text="string/five"/> <Button android:id="+id/button6" style="?android:attr/buttonStyleSmall" android:layout_column="2" android:layout_gravity="left|top" android:layout_row="2" android:text="string/six"/> <Button android:id="+id/buttonmul" style="?android:attr/buttonStyleSmall" android:layout_column="3" android:layout_gravity="left|top" android:layout_row="2" android:text="string/mul"/> <Button android:id="+id/buttongen" style="?android:attr/buttonStyleSmall" android:layout_column="4" android:layout_gravity="left|top" android:layout_row="2" android:text="string/gen"/> <Button android:id="+id/button1" style="?android:attr/buttonStyleSmall" android:layout_column="0" android:layout_gravity="left|top" android:layout_row="3" android:text="string/one"/> <Button android:id="+id/button2" style="?android:attr/buttonStyleSmall" android:layout_column="1" android:layout_gravity="left|top" android:layout_row="3" android:text="string/two"/> <Button android:id="+id/button3" style="?android:attr/buttonStyleSmall" android:layout_column="2" android:layout_gravity="left|top" android:layout_row="3" android:text="string/three"/> <Button android:id="+id/buttonred" style="?android:attr/buttonStyleSmall" android:layout_column="3" android:layout_gravity="left|top" android:layout_row="3" android:text="string/red"/> <Button android: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"/> <Button android: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"/> <Button android:id="+id/buttonpoint" style="?android:attr/buttonStyleSmall" android:layout_column="2" android:layout_gravity="left|top" android:layout_row="4" android:text="string/point"/> <Button android: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.2 运行界面截图 3.3运行结果截图 3.4 总结 这次课程设计虽然很简单但是需要注意的地方很多,比如ID的声明,经常由于ID的问题出现程序出现错误。然后就是Activity的注册的问题,还有每个class创建要继承Activity,到后来计算的问题,然后开始找相关的资料才知道需要将字符串进行转换才能进行运算。这次课程设计真正的锻炼了我的的耐心和细心,虽然程序很简单,但是真正的从头编到尾才知道。努力解决调试中遇到的许多问题,这样可以在过程中才能更好地锻炼自己的能力,认识到自己的不足。通过这次课设认识到自己在编程中的缺陷,我查了不少的资料获益匪浅需要好好学习更深入的理解。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- android 开发 计算器 课程设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文