android簡單計算器課程設(shè)計_第1頁
android簡單計算器課程設(shè)計_第2頁
android簡單計算器課程設(shè)計_第3頁
android簡單計算器課程設(shè)計_第4頁
android簡單計算器課程設(shè)計_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

android簡單計算器課程設(shè)計.android簡單計算器課程設(shè)計.android簡單計算器課程設(shè)計.沈陽理工大學(xué)課程設(shè)計專用紙綱領(lǐng)Android是現(xiàn)在最重要的開發(fā)平臺之一,它是建立在Java基礎(chǔ)之上的,能夠快速建立軟件的解決方案。Android的功能十分興盛,成為現(xiàn)在軟件行業(yè)的一股新興力量。Android鑒于Linux平臺,由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件構(gòu)成,擁有以下5個特色:開放性、應(yīng)用程序無界線、應(yīng)用程序是在相同條件下創(chuàng)辦的,應(yīng)用程序能夠輕松的嵌入網(wǎng)絡(luò)、應(yīng)用程序能夠并行運轉(zhuǎn)。而簡單計算器又是上必備的小程序,所以此次創(chuàng)新實踐很存心義。并且擁有很強的使用性。重點字:AndroidJava基礎(chǔ)計算器沈陽理工大學(xué)課程設(shè)計專用紙目錄第1章開發(fā)工具與環(huán)境......................................................................................................11.1Android平臺...........................................................................................................11.2Java開發(fā)環(huán)境.........................................................................................................11.3Eclipse.....................................................................................................................11.4Android程序基礎(chǔ)—Android應(yīng)用程序的構(gòu)成.....................................................2第2章系統(tǒng)分析與設(shè)計......................................................................................................4系統(tǒng)的可行性分析.................................................................................................4系統(tǒng)的需求分析....................................................................................................4系統(tǒng)的優(yōu)勢............................................................................................................4系統(tǒng)的流程圖........................................................................................................5第3章系統(tǒng)詳盡設(shè)計..........................................................................................................6動作Activity........................................................................................................6布局文件XML....................................................................................................6Activity的詳盡設(shè)計............................................................................................7布局文件XML的詳盡設(shè)計.............................................................................21系統(tǒng)的運轉(zhuǎn)結(jié)果................................................................................................24結(jié)論......................................................................................................................................25參照文件..............................................................................................................................26沈陽理工大學(xué)課程設(shè)計專用紙No1第1章開發(fā)工具與環(huán)境1.1Android平臺1.谷歌與開放結(jié)盟合作開發(fā)了Android,這個結(jié)盟由包含中國挪動、摩托羅拉、高通、宏達和T-Mobile在內(nèi)的30多家技術(shù)和無線應(yīng)用的領(lǐng)軍公司構(gòu)成。是一個真實意義上的開放性挪動設(shè)施綜合平臺。經(jīng)過與營運商、設(shè)施制造商、開發(fā)商和其余有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,來建立標(biāo)準(zhǔn)化、開放式的挪動軟件平臺,在挪動家產(chǎn)內(nèi)形成一個開放式的生態(tài)系統(tǒng),這樣應(yīng)用之間的通用性和互聯(lián)性將在最大程度上獲得保持。3.全部的Android應(yīng)用之間是完滿相同的。4.全部的應(yīng)用都運轉(zhuǎn)在一個核心的引擎上邊,這個核心引擎其實就是一個虛假機,它提供了一系列用于應(yīng)用和硬件資源間進行通信的API。撇開這個核心引擎,Android的全部其他的東西都是“應(yīng)用〞。打破了應(yīng)用之間的界線,比方開發(fā)人員能夠把Web上的數(shù)據(jù)與當(dāng)?shù)氐穆?lián)系人,日歷,地點信息聯(lián)合起來,為用戶創(chuàng)辦嶄新的用戶體驗。1.2Java開發(fā)環(huán)境Java技術(shù)包含了一個編程語言及一個平臺。Java編程語言擁有好多特色,如面向?qū)ο?、跨平臺、散布式、多線程、解說性等等。Java編程語言發(fā)源于Sun公司的一個叫“Green〞的工程,目的是開發(fā)嵌入式家用電器的散布式系統(tǒng),使電氣更為智能化。1996年1月宣告了JDK1.1版本,一門新語言自此走向世界。今后,1998年12月宣告了版本,2002年2月宣告版本,2004年10月宣告版本〔〕,2006年12月宣告〔〕版本,這是當(dāng)前的最新版本。版本是一個重要的版本,鑒于該版本,Sun將Java技術(shù)分為J2SE、J2ME、J2EE,此中J2SE為創(chuàng)辦和運轉(zhuǎn)Java程序供給了最根本的環(huán)境,J2ME與J2EE建立在J2SE的基礎(chǔ)上,J2ME為嵌入式應(yīng)用〔如運轉(zhuǎn)在里的Java程序〕供給開發(fā)與運行環(huán)境,J2EE為散布式的公司應(yīng)用供給開發(fā)與運轉(zhuǎn)環(huán)境。1.3Eclipse沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No2Eclipse的基礎(chǔ)是富客戶機平臺〔RichClientPlatform,即RCP〕。RCP包含以下組件:核心平臺〔Eclipse,運轉(zhuǎn)插件〕標(biāo)準(zhǔn)集束框架〔OSGi:OpenServiceGatewayinitiative〕可移植構(gòu)件工具包〔SWT:Eclipse'sStandardWidgetToolki〕tJFace〔文件緩沖,文本辦理,文本編寫器〕Eclipse采納的技術(shù)是IBM公司開發(fā)的SWT,這是一種鑒于Java的窗口組件,近似Java自己供給的AWT和Swing窗口組件:可是IBM宣稱SWT比其余Java窗口組件更有效率。Eclipse的用戶界面還使用了GUI中間層JFace,進而簡化了鑒于SWT的應(yīng)用程序的建立。Eclipse的設(shè)計思想是:全部皆插件。Eclipse核心很小,其余全部功能都以插件的形式附帶于Eclipse核心之上。Eclipse鑒于內(nèi)核包含:圖形API〔SWT/JFace〕,Java開發(fā)環(huán)境插件(JDT),插件開發(fā)環(huán)境〔PDE〕等。Eclipse的插件系統(tǒng)是輕型軟件組件化架構(gòu)。在富客戶機平臺上,Eclipse使用插件來供給全部的附帶功能,比方支持Java之外的其余語言。已有的分其余插件已經(jīng)能夠支持C/C++(CDT)、Perl、Ruby、Python、telnet和數(shù)據(jù)庫開發(fā)。插件架構(gòu)能夠支持將隨意的擴展參加到現(xiàn)有環(huán)境中,比方配置管理,而決不可是限于支持各樣編程語言。1.4Android程序基礎(chǔ)—Android應(yīng)用程序的構(gòu)成沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No3顧名思義,Activity就是活動。應(yīng)用程序必然最少包含一個Activity。Activity供給了一個虛假的用戶接口,每一個Activity都有一個默認(rèn)的窗口能夠用來顯示用戶界面,一般狀況下,它是全屏的窗口。比方,影音播放軟件的每個用戶界面就是Activity。Service與Activity的主要差別在于,Service是在后臺活動的,它沒合用戶界面。典型的應(yīng)用途景是,用戶選擇了一個播放列表開始播放后,走開了該用戶界面(Activity),假如仍舊希望歌曲不會暫停,就能夠用Service去調(diào)用播放器,而不是在Activity中調(diào)用播放器。在Android中,每一個行為都能夠抽象為一個Intent。能夠簡單地把Intent理解為一個包含了數(shù)據(jù)的信息。Intent能夠用于啟動一個Act-ivity或許Service,能夠用于進度間的通信。事實上,應(yīng)用程序的啟動也是經(jīng)過Intent實現(xiàn)的。4.ContentprovidersAndroid平臺內(nèi)置了一套SQLite數(shù)據(jù)積蓄系統(tǒng),并包含一系列管理SQLiteDatabase的有關(guān)方法。在應(yīng)用程序中,能夠經(jīng)過Contentprov-iders接見數(shù)據(jù)庫。每個Contentprovider都定義了一系列的方法用于接見它對應(yīng)的數(shù)據(jù)庫。應(yīng)用程序在新建數(shù)據(jù)庫時也能夠定義相應(yīng)的Con-tentprovider用于向其余應(yīng)用程序共享數(shù)據(jù)。一般狀況下,應(yīng)用程序不直接調(diào)用Contentprovider定義的函數(shù),而是經(jīng)過ContentResolver間接調(diào)用。沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No4第2章系統(tǒng)分析與設(shè)計系統(tǒng)的可行性分析可行性研究是為了弄清楚系統(tǒng)開發(fā)的工程能否是能夠?qū)崿F(xiàn)和值得進行研究的過程,實際上是一次大大簡化系統(tǒng)分析和系統(tǒng)設(shè)計的過程,所以,進行可履行性的分析是特別必需的,也是很重要的,經(jīng)過最先的設(shè)計目標(biāo)和進行的及時檢查得出以下四點的可行性分析:〔1〕技術(shù)可行性:Eclipse+AndroidADT的技術(shù)已經(jīng)較為成熟,經(jīng)過SUN公司〔現(xiàn)被ORCEL公司收買〕推出的跨平臺、動向的JAVA語言進行開發(fā)?!?〕運轉(zhuǎn)可行性:該系統(tǒng)需要Android虛假機環(huán)境,Eclipse中安裝ADT,DDMS等GoogleAndroid有關(guān)插件。其運轉(zhuǎn)環(huán)境已經(jīng)相當(dāng)堅固,它功能豐富,包含了齊備的Android程序的編碼、調(diào)試、測試和宣告功能,此中支持全部Android應(yīng)用開發(fā)有關(guān)技術(shù),包含SQLite,Skia,3D制作,AndroidXML,能夠很好的宣告Android的應(yīng)用程序APK包?!?〕法律可行性:因為是自主開發(fā)設(shè)計,所以不會構(gòu)成侵權(quán),在法律上是可行的。經(jīng)過以上的可行性分析,將采納Eclipse+AndroidADT+DDMS技術(shù),運用JAVA語言進行系統(tǒng)的開發(fā)。系統(tǒng)的需求分析依據(jù)分析需求,這個系統(tǒng)必然實現(xiàn)以下的功能:(1)實現(xiàn)簡單的數(shù)字計算功能。作為計算器,其核心就是加減乘除。(2)能夠在里面以優(yōu)秀的界面。簡單計算器能夠賞賜用戶優(yōu)秀的人機互動界面。系統(tǒng)的優(yōu)勢Android是以Linux為核心的操作平臺,作為一款開放式的操作系統(tǒng),跟著Android的快速張開,現(xiàn)在已贊成開發(fā)者使用多種編程語言來開發(fā)Android應(yīng)用程序,而不再是從前只好使用Java開發(fā)Android應(yīng)用程序的單調(diào)場面,所以遇到眾多開發(fā)者的歡沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No5迎,成為真實意義上的開放式操作系統(tǒng)。本次課程設(shè)計一個簡單的計算器。主要認(rèn)識Activity的創(chuàng)辦和Intent的使用。Intent不只好夠連結(jié)兩個Activity。并且能夠傳達數(shù)據(jù)。下邊是整個程序的設(shè)計流程。系統(tǒng)的流程圖本程序的流程是一個開機畫面,開機畫面今后就是計算機的主頁面了全部這個簡單程序的流程圖如下圖。第一個Activity第二個Activity加法減法除法乘法圖程序流程圖沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No6第3章系統(tǒng)詳盡設(shè)計動作Activity參照程序的流程圖,設(shè)計五個Activity。分別為進入頁面的Activity,和選擇運算方式的Activity。在這里應(yīng)當(dāng)注意的是每當(dāng)創(chuàng)辦一個新的class,就要繼承Activity如下圖。圖程序所需的Activity布局文件XML相應(yīng)的,需要在res/layout文件夾中建立3個XML文件來對上述的十個Activity進行布局,如下圖。圖3.23個XML布局文件整體上所需要的Activity和XML布局文件已經(jīng)建立完成,下邊開始對進入計算器的Activity進行編寫,沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No7Activity的詳盡設(shè)計動作模塊中Calculator的詳盡代碼以下:packagecom.calculator.apk;importandroid.app.Activity;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;.EditText;importandroid.widget.TextView;publicclassCalculatorActivityextendsActivity{/*對layout中各組件進行定義*/Buttonbtn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn0,btnPoint;ButtonbtnJia,btnJian,btnCheng,btnChu;ButtonbtnC,btnE,btnA,btnB;ButtonbtnJieGuo;TextViewtextView01;EditTextet;//定義一個float種類,用于數(shù)字的運算floatnum1;//定義一個float種類,用于數(shù)字的運算floatnum2;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No8super.onCreate(savedInstanceState);setContentView(R.layout.calculator);//定義一個方法,完成對個組件的初始化init();//設(shè)置btn1的監(jiān)聽事件btn1.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//獲得EditText中的值Stringnum1=et.getText().toString();//將num1后邊連結(jié)1,此后再將值賦給EditTextetText(num1+1);}});//設(shè)置btn2的監(jiān)聽事件btn2.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//獲得EditText中的值Stringnum1=et.getText().toString();//將num1后邊連結(jié)2,此后再將值賦給EditTextet.setText(num1+2);}});//設(shè)置btn3的監(jiān)聽事件btn3.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//獲得EditText中的值Stringnum1=et.getText().toString();沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No9//將num1后邊連結(jié)3,此后再將值賦給EditTextet.setText(num1+3);}});//設(shè)置btn4的監(jiān)聽事件lickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//獲得EditText中的值Stringnum1=et.getText().toString();//將num1后邊連結(jié)4,此后再將值賦給EditTextet.setText(num1+4);}});//設(shè)置btn5的監(jiān)聽事件btn5.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//獲得EditText中的值Stringnum1=et.getText().toString();//將num1后邊連結(jié)5,此后再將值賦給EditTextet.setText(num1+5);}});//設(shè)置btn6的監(jiān)聽事件btn6.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//獲得EditText中的值沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No10Stringnum1=et.getText().toString();//將num1后邊連結(jié)6,此后再將值賦給EditTextet.setText(num1+6);}});//設(shè)置btn7的監(jiān)聽事件btn7.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//獲得EditText中的值Stringnum1=et.getText().toString();//將num1后邊連結(jié)7,此后再將值賦給EditTextet.setText(num1+7);}});//設(shè)置btn8的監(jiān)聽事件btn8.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//獲得EditText中的值Stringnum1=et.getText().toString();//將num1后邊連結(jié)8,此后再將值賦給EditTextet.setText(num1+8);}});沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No11//設(shè)置btn9的監(jiān)聽事件btn9.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//獲得EditText中的值Stringnum1=et.getText().toString();//將num1后邊連結(jié)9,此后再將值賦給EditTextet.setText(num1+9);}});//設(shè)置btn0的監(jiān)聽事件btn0.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//獲得EditText中的值Stringnum1=et.getText().toString();//判斷,假如0為初次輸入,并且0為首位數(shù)字,那么將以下按鈕設(shè)為不可以用if(num1.length()<=0){btn1.setEnabled(false);btn2.setEnabled(false);btn3.setEnabled(false);btn4.setEnabled(false);btn5.setEnabled(false);btn6.setEnabled(false);btn7.setEnabled(false);btn8.setEnabled(false);btn9.setEnabled(false);btn0.setEnabled(false);btnJieGuo.setEnabled(false);btnJia.setEnabled(false);沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No12btnJian.setEnabled(false);btnCheng.setEnabled(false);btnChu.setEnabled(false);et.setText("0");}else{//假如0不為第一個數(shù)字,那么將num1后邊連結(jié)0,此后再將值賦給EditTextet.setText(num1+0);}}});//設(shè)置btnPoint的監(jiān)聽事件btnPoint.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//不論以下按鈕可不可以用,都將設(shè)為可用btn1.setEnabled(true);btn2.setEnabled(true);btn3.setEnabled(true);btn4.setEnabled(true);btn5.setEnabled(true);btn6.setEnabled(true);btn7.setEnabled(true);btn8.setEnabled(true);btn9.setEnabled(true);btn0.setEnabled(true);btnJieGuo.setEnabled(true);btnJia.setEnabled(true);btnJian.setEnabled(true);btnCheng.setEnabled(true);沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No13btnChu.setEnabled(true);//獲得EditText中的值Stringnum1=et.getText().toString();//此處方法是判斷小數(shù)點能否存在if(num1.indexOf(".")<0){//檢索“.〞的index值,假如不存在,返回的是-1//此處判斷小數(shù)點能否在字符串的開頭if(num1.length()>0){//假如不是在字符串的開頭,那么將num1后邊連結(jié)“.〞,此后再將值賦給EditTextet.setText(num1+".");}else{//假如小數(shù)點在字符串的開頭,那么將EditText的值設(shè)為空et.setText("");}}else{//假如小數(shù)點在前面的數(shù)字中已經(jīng)出現(xiàn),那么EditText的值不變et.setText(num1);}}});//設(shè)置btnC的監(jiān)聽事件btnC.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){btn1.setEnabled(true);btn2.setEnabled(true);btn3.setEnabled(true);btn4.setEnabled(true);btn5.setEnabled(true);btn6.setEnabled(true);btn7.setEnabled(true);沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No14btn8.setEnabled(true);btn9.setEnabled(true);btn0.setEnabled(true);bled(true);btnJia.setEnabled(true);btnJian.setEnabled(true);btnCheng.setEnabled(true);btnChu.setEnabled(true);//清空EditTextet.setText("");//清空TextViewtextView01.setText("");//num1和num2的值歸零num1=0;num2=0;}});//設(shè)置btnE的監(jiān)聽事件stener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//設(shè)置一個顯式企圖,用于CalculatorActivity和AboutActivity之間的跳轉(zhuǎn)Intentintent=newIntent(CalculatorActivity.this,MainActivity.class);startActivity(intent);}});//設(shè)置btnJia的監(jiān)聽事件ClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No15//獲得EditText的值Stringnum=et.getText().toString().trim();//判斷,假如EditText為空,那么將EditText設(shè)置為空,假如不為空,那么將EditText的值轉(zhuǎn)變?yōu)閒loat種類if(num.length()==0){et.setText("");}else{num1=Float.parseFloat(num);}//將符號"+"賦給TextViewtextView01.setText("+");//清空EidtTextet.setText("");}});//設(shè)置btnJian的監(jiān)聽事件btnJian.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//獲得EditText的值Stringnum=et.getText().toString().trim();//判斷,假如EditText為空,那么將EditText設(shè)置為空,假如不為空,那么將EditText的值轉(zhuǎn)變?yōu)閒loat種類if(num.length()==0){et.setText("");}else{num1=Float.parseFloat(num);}//將符號"-"賦給TextViewtextView01.setText("-");沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No16//清空EidtTextet.setText("");}});//設(shè)置btnCheng的監(jiān)聽事件btnCheng.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//獲得EditText的值Stringnum=et.getText().toString().trim();//判斷,假如EditText為空,那么將EditText設(shè)置為空,假如不為空,那么將EditText的值轉(zhuǎn)變?yōu)閒loat種類if(num.length()==0){et.setText("");}else{num1=Float.parseFloat(num);}//將符號"*"賦給TextViewtextView01.setText("*");//清空EidtTextet.setText("");}});//設(shè)置btnChu的監(jiān)聽事件btnChu.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//獲得EditText的值Stringnum=et.getText().toString().trim();沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No17//判斷,假如EditText為空,那么將EditText設(shè)置為空,假如不為空,那么將EditText的值轉(zhuǎn)變?yōu)閒loat種類if(num.length()==0){et.setText("");}else{num1=Float.parseFloat(num);}//將符號"/"賦給TextViewtextView01.setText("/");//清空EidtTextet.setText("");}});//設(shè)置btnJieGuo的監(jiān)聽事件btnJieGuo.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//獲得EditText的值Stringnum22=et.getText().toString().trim();//判斷,假如EditText的值為空,那么將EditText的值設(shè)為空,假如不為空,那么將EditText的值轉(zhuǎn)變?yōu)閒loat種類if(num22.length()<=0){et.setText("");}else{num2=Float.parseFloat(num22);}//獲得TextView的值Stringfuhao=textView01.getText().toString().trim();//假如TextView的符號為“+〞,將num1和num2相加,并把值賦給EditTextif("+"==fuhao){沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No18floatnumjiguo1=num1+num2;et.setText(""+numjiguo1);}else//假如TextView的符號為“-〞,將num1和num2相減,并把值賦給EditTextif("-"==fuhao){floatnumjiguo1=num1-num2;et.setText(""+numjiguo1);}else//假如TextView的符號為“*〞,將num1和num2相乘,并把值賦給EditTextif("*"==fuhao){floatnumjiguo1=num1*num2;et.setText(""+numjiguo1);}else//假如TextView的符號為“/〞,將num1和num2相除,并把值賦給EditTextif("/"==fuhao){floatnumjiguo1=num1/num2;et.setText(""+numjiguo1);}}});//設(shè)置btnB的監(jiān)聽事件,此處為這只退格鍵btnB.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//不論以下按鈕能否為可用,都將設(shè)置為可用btn1.setEnabled(true);btn2.setEnabled(true);bled(true);btn4.setEnabled(true);btn5.setEnabled(true);沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No19btn6.setEnabled(true);btn7.setEnabled(true);btn8.setEnabled(true);btn9.setEnabled(true);btn0.setEnabled(true);btnJieGuo.setEnabled(true);btnJia.setEnabled(true);btnJian.setEnabled(true);btnCheng.setEnabled(true);btnChu.setEnabled(true);//獲得EditText的值Stringnum=et.getText().toString().trim();//獲得EditText的長度intlength=et.length();//判斷,假如EditText的長度大于0,那么獲得length-1的字符串賦給EditText,否那么設(shè)置EditText為空if(length>0){StringnumRe=num.substring(0,length-1);et.setText(numRe);}else{et.setText("");}}});//設(shè)置btnA的監(jiān)聽事件btnA.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//設(shè)置一個顯式企圖,用于CalculatorActivity和AboutActivity之間的跳轉(zhuǎn)沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No20Intentintent=newIntent(CalculatorActivity.this,AboutActivity.class);startActivity(intent);}});}/*定義一個方法,完成對個組件的初始化*/voidinit(){btn1=(Button)findViewById(R.id.btn1);2);btn3=(Button)findViewById(R.id.btn3);btn4=(Button)findViewById(R.id.btn4);btn5=(Button)findViewById(R.id.btn5);btn6=(Button)findViewById(R.id.btn6);btn7=(Button)findViewById(R.id.btn7);btn8=(Button)findViewById(R.id.btn8);btn9=(Button)findViewById(R.id.btn9);btn0=(Button)findViewById(R.id.btn0);btnPoint=(Button)findViewById(R.id.btnPiont);btnJia=(Button)findViewById(R.id.btnJia);btnJian=(Button)findViewById(R.id.btnJian);btnCheng=(Button)findViewById(R.id.btnCheng);btnChu=(Button)findViewById(R.id.btnChu);btnC=(Button)findViewById(R.id.btnC);btnE=(Button)findViewById(R.id.btnE);btnA=(Button)findViewById(R.id.btnA);btnB=(Button)findViewById(R.id.btnB);btnJieGuo=(Button)findViewById(R.id.btnJieguo);沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No21et=(EditText)findViewById(R.id.ed);textView01=(TextView)findViewById(R.id.textView01);}}布局文件XML的詳盡設(shè)計布局文件編寫布局代碼以下:<?xmlversion="1.0"encoding="utf-8"?>m/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="@drawable/bg_android01"android:gravity="center"><Buttonandroid:layout_width="80px"android:layout_height="80px"android:layout_marginBottom="35px"android:id="@+id/btnshow"android:text="開始計算"></Button></LinearLayout>三個Activity創(chuàng)辦完成后,我們需要實現(xiàn)以下動作:在用戶打開軟件今后,點擊“開始計算〞,此后跳轉(zhuǎn)到選擇運算法那么的界面,當(dāng)用戶輸入數(shù)字點擊加減乘除后運算獲得結(jié)果。所以可知,在整個動作中,需要使用偵聽代碼來鑒識用戶的操作,此后使用Intent來實現(xiàn)Activity的切換。比方開始界面跳轉(zhuǎn)到主界面:第一在“開始計算〞按鈕上設(shè)置偵聽代碼以下:button1.setOnClickListener(newbutton1Listener());沈陽理工大學(xué)沈陽理工大學(xué)課程設(shè)計專用紙No22此后開始偵聽,當(dāng)用戶點擊“開始計算〞時,啟動Intent來將本界面切換到主界面,在這里需要JAVA中偵聽的方法和Intent方法,代碼以下classbutton1ListenerimplementsOnClickListener{@OverridepublicvoidonClick(Viewv){//TODOAuto-generatedmethodstub//生成一個Intent對象Intentintent=newIntent();intent

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論