![基于Android計(jì)算器的開(kāi)發(fā)與測(cè)試參考模板_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/b46e53a1-d988-4a33-98b8-e6ceb2a29404/b46e53a1-d988-4a33-98b8-e6ceb2a294041.gif)
![基于Android計(jì)算器的開(kāi)發(fā)與測(cè)試參考模板_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/b46e53a1-d988-4a33-98b8-e6ceb2a29404/b46e53a1-d988-4a33-98b8-e6ceb2a294042.gif)
![基于Android計(jì)算器的開(kāi)發(fā)與測(cè)試參考模板_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/b46e53a1-d988-4a33-98b8-e6ceb2a29404/b46e53a1-d988-4a33-98b8-e6ceb2a294043.gif)
![基于Android計(jì)算器的開(kāi)發(fā)與測(cè)試參考模板_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/b46e53a1-d988-4a33-98b8-e6ceb2a29404/b46e53a1-d988-4a33-98b8-e6ceb2a294044.gif)
![基于Android計(jì)算器的開(kāi)發(fā)與測(cè)試參考模板_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/b46e53a1-d988-4a33-98b8-e6ceb2a29404/b46e53a1-d988-4a33-98b8-e6ceb2a294045.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí) 訓(xùn) 報(bào) 告實(shí)訓(xùn)項(xiàng)目名稱 基于Android計(jì)算器的開(kāi)發(fā)與測(cè)試 二 級(jí) 學(xué) 院 信息工程學(xué)院 專 業(yè) 班 級(jí) 11級(jí) 姓 名 學(xué) 號(hào) 日 期 2014-11-19 I / 30項(xiàng)目名稱基于安卓計(jì)算器的開(kāi)發(fā)與測(cè)試地點(diǎn)教13 603報(bào) 告 內(nèi) 容在本報(bào)告中,我們主要介紹了國(guó)內(nèi)目前手機(jī)系統(tǒng)和軟件的現(xiàn)狀和發(fā)展,針對(duì)這方面我們?cè)O(shè)計(jì)了基于Android計(jì)算器。報(bào)告內(nèi)容大致分為三個(gè)部分。第一部分首先介紹了需求分析,其中介紹了計(jì)算器最基本的功能。之后還有一些按鍵的設(shè)置以及計(jì)算器的基本功能。第二部分我們介紹了關(guān)于計(jì)算器的總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)其中我們用了兩個(gè)流程圖來(lái)表示,分別是程序設(shè)計(jì)流程圖和軟件設(shè)計(jì)流程圖。然后
2、還包含了計(jì)算器模塊的設(shè)計(jì)。第三部分為計(jì)算器的測(cè)試部分,其中我們對(duì)計(jì)算器進(jìn)行了多方的測(cè)試。此外還有測(cè)試用例圖。教師評(píng)語(yǔ)成績(jī): 教師簽名: 摘 要Android是當(dāng)今最重要的手機(jī)開(kāi)發(fā)平臺(tái)之一,它是建立在Java基礎(chǔ)之上的,能夠迅速建立手機(jī)軟件的解決方案。Android的功能十分強(qiáng)大,成為當(dāng)今軟件行業(yè)的一股新興力量。Android基于Linux平臺(tái),由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,具有以下5個(gè)特點(diǎn):開(kāi)放性、應(yīng)用程序無(wú)界限、應(yīng)用程序是在平等條件下創(chuàng)建的,應(yīng)用程序可以輕松的嵌入網(wǎng)絡(luò)、應(yīng)用程序可以并行運(yùn)行。而簡(jiǎn)單計(jì)算器又是手機(jī)上必備的小程序,所以此次創(chuàng)新實(shí)踐很有意義。并且具有很強(qiáng)的使用性。關(guān)鍵
3、字:計(jì)算器,Android,移動(dòng)設(shè)備目錄1 緒論51.1研究背景52 游戲系統(tǒng)開(kāi)發(fā)平臺(tái)63 系統(tǒng)分析與設(shè)計(jì)73.1可行性研究73.2系統(tǒng)的需求分析73.3系統(tǒng)的優(yōu)勢(shì)83.4系統(tǒng)的流程84.模板設(shè)計(jì)與實(shí)現(xiàn)95 測(cè)試用列和結(jié)果125.1測(cè)試用列125.2測(cè)試用列展示圖126 小結(jié)15參考文獻(xiàn)16附錄:171 緒論1.1 研究背景(1) 計(jì)算器背景目前手機(jī)可以說(shuō)是普及率非常高的電子設(shè)備了,由于其便于攜帶,使用方便,資費(fèi)適中等等原因,現(xiàn)在手機(jī)已經(jīng)在一定程度開(kāi)始代替固定電話的通話功能,以及一些原來(lái)電腦軟件上的功能了。手機(jī)上的軟件也隨著手機(jī)的發(fā)展變得豐富起來(lái)了,時(shí)至今日已經(jīng)出現(xiàn)了很多專門制作手機(jī)軟件的公司
4、,雖然制作的多是游戲軟件,但是一些輔助性的工具軟件也有了很多.我們?cè)诖舜蜗到y(tǒng)中所做的工作主要是設(shè)計(jì)整個(gè)系統(tǒng)以及利用編程語(yǔ)言實(shí)現(xiàn)整個(gè)系統(tǒng),使系統(tǒng)能夠正確的運(yùn)行計(jì)算功能。(2) Android系統(tǒng)簡(jiǎn)介Android 系統(tǒng)構(gòu)架簡(jiǎn)介:Android是一個(gè)基于LinuxV2.6內(nèi)核的交互性操作環(huán)境,同時(shí)它也是一個(gè)分層系統(tǒng),Android系統(tǒng)架構(gòu)顯示如下圖1.1。圖1.1系統(tǒng)架構(gòu)圖 應(yīng)用層由所有的Android應(yīng)用程序組成。其中包括電子郵件客戶端,SMS程序,地圖,瀏覽器,聯(lián)系人及其他。所有的應(yīng)用程序都是用Java編程語(yǔ)言編寫的。 1.Activity 顧名思義,Activity就是活動(dòng)。應(yīng)用程序必須至少
5、包含一個(gè)Activity。Activity提供了一個(gè)虛擬的用戶接口,每一個(gè)Activity都有一個(gè)默認(rèn)的窗口可以用來(lái)顯示用戶界面,一般情況下,它是全屏的窗口。例如,影音播放軟件的每個(gè)用戶界面就是Activity。 2.Service Service與Activity的主要區(qū)別在于,Service是在后臺(tái)活動(dòng)的,它沒(méi)有用戶界面。典型的應(yīng)用場(chǎng)景是,用戶選擇了一個(gè)播放列表開(kāi)始播放后,離開(kāi)了該用戶界面(Activity),如果仍然希望歌曲不會(huì)暫停,就可以用Service去調(diào)用播放器,而不是在Activity中調(diào)用播放器。 3.Intent 在Android中,每一個(gè)行為都可以抽象為一個(gè)Intent???/p>
6、以簡(jiǎn)單地把Intent理解為一個(gè)包含了數(shù)據(jù)的消息。Intent可以用于啟動(dòng)一個(gè)Act-ivity或者Service,可以用于進(jìn)程間的通信。事實(shí)上,應(yīng)用程序的啟動(dòng)也是通過(guò)Intent實(shí)現(xiàn)的。 4.Content providers Android平臺(tái)內(nèi)置了一套SQLite數(shù)據(jù)儲(chǔ)存機(jī)制,并包含一系列管理SQLite Database的相關(guān)方法。在應(yīng)用程序中,可以通過(guò)Content prov-iders訪問(wèn)數(shù)據(jù)庫(kù)。每個(gè)Content provider都定義了一系列的方法用于訪問(wèn)它對(duì)應(yīng)的數(shù)據(jù)庫(kù)。應(yīng)用程序在新建數(shù)據(jù)庫(kù)時(shí)也可以定義相應(yīng)的Con-tent provider用于向其他應(yīng)用程序共享數(shù)據(jù)。一般情況
7、下,應(yīng)用程序不直接調(diào)用Content provider定義的函數(shù),而是通過(guò)ContentResolver間接調(diào)用。2 游戲系統(tǒng)開(kāi)發(fā)平臺(tái)采用Eclipse開(kāi)發(fā)工具,在Windows 7下進(jìn)行,基于Android 4.2.2操作系統(tǒng),使用的語(yǔ)言是Java語(yǔ)言。環(huán)境搭建:1) JDK安裝2) Eclipse安裝3) Android SDK安裝4) ADT安裝創(chuàng)建AVDJDK(Java Development Kit)是Sun Microsystems針對(duì)Java開(kāi)發(fā)員的產(chǎn)品。自從Java誕生以來(lái),JDK已經(jīng)成為最廣泛的Java SDK。JDK是整個(gè)Java的核心內(nèi)容,包括了Java運(yùn)行環(huán)境、Java
8、工具和Java基礎(chǔ)類庫(kù)三部分。從Sun的JDK1.5開(kāi)始,提供了一些非常使用的功能,其版本也不斷更新,運(yùn)行效率得到了非常大的提高。Eclipse是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組建構(gòu)建開(kāi)發(fā)環(huán)境。Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開(kāi)發(fā)工具(Java Development Kit,JDK)。Android SDK即軟件開(kāi)發(fā)工具包(software development kit)。被軟件開(kāi)發(fā)工程師用于為特定的軟件包、軟件架構(gòu)、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件工具的集合。因此Android SDK是Android
9、專屬的開(kāi)發(fā)工具包。其授權(quán)協(xié)議為Apache,開(kāi)發(fā)語(yǔ)言為Java、需要Android操作系統(tǒng)的支持。23 系統(tǒng)分析與設(shè)計(jì)3.1 可行性研究可行性研究是為了弄清楚系統(tǒng)開(kāi)發(fā)的項(xiàng)目是不是可以實(shí)現(xiàn)和值得進(jìn)行研究的過(guò)程,實(shí)際上是一次大大簡(jiǎn)化系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的過(guò)程,所以,進(jìn)行可執(zhí)行性的分析是非常必要的,也是很重要的,經(jīng)過(guò)最初的設(shè)計(jì)目標(biāo)和進(jìn)行的實(shí)時(shí)調(diào)查得出以下四點(diǎn)的可行性分析:(1)技術(shù)可行性:Eclipse + Android ADT的技術(shù)已經(jīng)較為成熟,通過(guò)SUN公司(現(xiàn)被ORCEL公司收購(gòu))推出的跨平臺(tái)、動(dòng)態(tài)的JAVA語(yǔ)言進(jìn)行開(kāi)發(fā)。(2)運(yùn)行可行性:該系統(tǒng)需要Android虛擬機(jī)環(huán)境,Eclipse中安
10、裝ADT,DDMS等Google Android相關(guān)插件。其運(yùn)行環(huán)境已經(jīng)相當(dāng)穩(wěn)定,它功能豐富,包括了完備的Android程序的編碼、調(diào)試、測(cè)試和發(fā)布功能,其中支持所有Android應(yīng)用開(kāi)發(fā)相關(guān)技術(shù),包括SQLite,Skia,3D制作,Android XML,能夠很好的發(fā)布Android的應(yīng)用程序APK包。(3)法律可行性:因?yàn)槭亲灾鏖_(kāi)發(fā)設(shè)計(jì),所以不會(huì)構(gòu)成侵權(quán),在法律上是可行的。通過(guò)以上的可行性分析,將采用Eclipse+Android ADT + DDMS技術(shù),運(yùn)用JAVA語(yǔ)言進(jìn)行系統(tǒng)的開(kāi)發(fā)。3.2 系統(tǒng)的需求分析根據(jù)分析需求,這個(gè)系統(tǒng)必須實(shí)現(xiàn)以下的功能:(1) 實(shí)現(xiàn)簡(jiǎn)單的數(shù)字計(jì)算功能。作為
11、計(jì)算器,其核心就是加減乘除。(2) 能夠在手機(jī)里面以良好的界面。簡(jiǎn)單計(jì)算器能夠給予用戶良好的人機(jī)互動(dòng)界面。3.3 系統(tǒng)的優(yōu)勢(shì)Android是以Linux為核心的手機(jī)操作平臺(tái),作為一款開(kāi)放式的操作系統(tǒng),隨著Android的快速發(fā)展,如今已允許開(kāi)發(fā)者使用多種編程語(yǔ)言來(lái)開(kāi)發(fā)Android應(yīng)用程序,而不再是以前只能使用Java開(kāi)發(fā)Android應(yīng)用程序的單一局面,因而受到眾多開(kāi)發(fā)者的歡迎,成為真正意義上的開(kāi)放式操作系統(tǒng)。3.4系統(tǒng)的流程 本程序的流程是一個(gè)開(kāi)機(jī)畫面,開(kāi)機(jī)畫面之后就是計(jì)算機(jī)的主頁(yè)面了所有這個(gè)簡(jiǎn)單程序的流程圖如圖3.1所示。開(kāi)始顯示計(jì)算機(jī)界面輸入數(shù)值選擇功能鍵判斷選項(xiàng)加減乘除clear結(jié)束
12、圖 3.1 流程圖4.模板設(shè)計(jì)與實(shí)現(xiàn) 4.1計(jì)算模塊詳細(xì)設(shè)計(jì)系統(tǒng)要完成整個(gè)的計(jì)算器的計(jì)算功能,那么計(jì)算模塊就是整個(gè)系統(tǒng)的重點(diǎn)模塊。沒(méi)有計(jì)算模塊系統(tǒng)就不能順利的完成計(jì)算,就無(wú)法達(dá)到用戶的要求。所以計(jì)算模塊的設(shè)計(jì)也是本次系統(tǒng)設(shè)計(jì)中的重點(diǎn)。 系統(tǒng)想要能在屏幕上顯示出計(jì)算器的樣子要有整體的布局,在本模塊中要完成布局的具體設(shè)計(jì),使用戶能夠看到整個(gè)計(jì)算器的畫面。同時(shí)系統(tǒng)想完成計(jì)算功能必須要處理用戶的輸入,當(dāng)輸入模塊的監(jiān)聽(tīng)傳到計(jì)算模塊中時(shí),計(jì)算模塊就要根據(jù)相應(yīng)的方法進(jìn)行進(jìn)一步的處理。這部分主要是對(duì)輸入進(jìn)行的邏輯判斷,基本會(huì)通過(guò)if else來(lái)實(shí)現(xiàn)邏輯判斷。4.2用戶界面設(shè)計(jì)界面設(shè)計(jì)應(yīng)該盡量簡(jiǎn)潔而美觀,應(yīng)該具
13、有良好的交互性。當(dāng)然,我們每個(gè)人可以根據(jù)自己的喜好來(lái)進(jìn)行設(shè)計(jì),根據(jù)我個(gè)人的喜好,我最終設(shè)計(jì)出來(lái)的計(jì)算器界面如圖4.1所示。 圖4.1 界面圖部分代碼: 4.3計(jì)算模塊設(shè)計(jì)的實(shí)現(xiàn)計(jì)算模塊則主要描述了計(jì)算器的整體,實(shí)現(xiàn)了計(jì)算器的界面,定義了用戶單擊的處理辦法,通過(guò)定義的處理辦法來(lái)完成用戶的操作命令,實(shí)現(xiàn)用戶的計(jì)算要求,這些計(jì)算要求包括了數(shù)值的輸入,小數(shù)點(diǎn)的輸入,正負(fù)號(hào)的輸入,記憶相關(guān)功能的完成,加、減、乘、除等各種計(jì)算功能的完成,運(yùn)算符的替換,初始化系統(tǒng)等等。部分代碼:private class CommandAction implements OnClickListener Override p
14、ublic void onClick(View view) Button btn = (Button) view; String inputCommand = (String) btn.getText(); if (firstFlag) / 首次輸入-的情況 if (inputCommand.equals(-) editText.setText(-);/ 顯示區(qū)域的內(nèi)容設(shè)置為- firstFlag = false;/ 改變首次輸入的標(biāo)記 else if (!clearFlag) / 如果flag=false不需要清空顯示區(qū)的值,就調(diào)用方法計(jì)算 jsp(Double.parseDouble(ed
15、itText.getText().toString();/ 保存顯示區(qū)域的值,并計(jì)算 / 保存你點(diǎn)擊的運(yùn)算符 lastCommand = inputCommand; clearFlag = true;/ 因?yàn)槲疫@里已經(jīng)輸入過(guò)運(yùn)算符, 加、減、乘、除等各種計(jì)算功能的實(shí)現(xiàn): private void jsp(double x) if (lastCommand.equals(+) result += x; else if (lastCommand.equals(-) result -= x; else if (lastCommand.equals(*) result *= x; else if (l
16、astCommand.equals(/) result /= x; else if (lastCommand.equals(=) result = x; editText.setText( + result); 5 測(cè)試用列和結(jié)果5.1測(cè)試用列通過(guò)以下的測(cè)試用例進(jìn)行對(duì)游戲各功能模塊的測(cè)試并加以修改,如表5.1所示。測(cè)試編號(hào)測(cè)試輸入期望結(jié)果實(shí)際結(jié)果11+23.03.021*22.02.031/20.50.541/0無(wú)結(jié)果錯(cuò)誤51-(-3)4.0-2.06-2程序錯(cuò)誤程序錯(cuò)誤表5.1 測(cè)試用例表5.2測(cè)試用列展示圖1. 測(cè)試1+2時(shí)的狀態(tài)如圖5.2所示:圖5.2測(cè)試結(jié)果圖2.測(cè)試1*2時(shí)如圖5.3
17、所示:圖5.3測(cè)試結(jié)果圖3. 測(cè)試1/2時(shí)如圖5.4所示:圖5.4測(cè)試結(jié)果圖4. 測(cè)試1/0時(shí)如圖5.5所示:圖5.5測(cè)試結(jié)果圖5.測(cè)試1-(-3)如圖5.6所示: 圖5.6測(cè)試結(jié)果圖6.測(cè)試輸入-2時(shí)如圖5.7所示: 圖5.7測(cè)試結(jié)果圖6 小結(jié) 這次項(xiàng)目android計(jì)算器項(xiàng)目設(shè)計(jì)是在eclipse平臺(tái)下設(shè)計(jì),到現(xiàn)在為止,該系統(tǒng)的功能基本符合了普通計(jì)算器的要求,整個(gè)系統(tǒng)界面簡(jiǎn)單明了,使用起來(lái)十分方便,具有普通計(jì)算器的基本功能,同時(shí)拓展了一些普通計(jì)算器上沒(méi)有的部分科學(xué)計(jì)算功能。在整個(gè)開(kāi)發(fā)過(guò)程中,從需求分析到總體架構(gòu)的構(gòu)思,到最后代碼的編寫我投入了大量的時(shí)間和精力,對(duì)系統(tǒng)中的每個(gè)功能都進(jìn)行了反復(fù)
18、的調(diào)試,修改。因?yàn)檫@是我是第一次系統(tǒng)性的進(jìn)行軟件的開(kāi)發(fā),不論是在知識(shí)層面、開(kāi)發(fā)平臺(tái)的使用層面還是經(jīng)驗(yàn)方面都有著很大的欠缺和不足,因此本軟件難免會(huì)有一些功能不完善、界面不美觀等一些不盡如人意的地方,但是再短短一個(gè)星期的時(shí)間內(nèi),我已經(jīng)進(jìn)行了很大的努力。通過(guò)這個(gè)android計(jì)算器項(xiàng)目設(shè)計(jì),我不經(jīng)鞏固了我們?cè)跁旧蠈W(xué)到和平時(shí)老師傳授的知識(shí),而且還學(xué)到了許多書本上學(xué)不到的知識(shí),并運(yùn)用了網(wǎng)絡(luò)這個(gè)平臺(tái)查詢一些不明白的知識(shí)點(diǎn)。指導(dǎo)老師在我軟件代碼編寫和后期軟件調(diào)試期間,給我很大的幫助。要謝謝各位幫過(guò)我的老師和同學(xué)。這次的實(shí)驗(yàn)讓我對(duì)我的學(xué)過(guò)的知識(shí)有了深一步的了解。 參考文獻(xiàn)1 劉敏.移動(dòng)終端的Android移
19、植與應(yīng)用程序設(shè)計(jì)D. 西安電子科技大學(xué) 2011 2 王蕾.哈爾濱招行Android手機(jī)銀行匯率換算模塊的設(shè)計(jì)與實(shí)現(xiàn)D. 吉林大學(xué) 2011 3 施金蘭.基于Android平臺(tái)的網(wǎng)絡(luò)共享研究與實(shí)現(xiàn)D. 華東師范大學(xué) 2011 4 趙建勛.基于Android平臺(tái)的移動(dòng)位置服務(wù)的開(kāi)發(fā)與實(shí)現(xiàn)J. 現(xiàn)代商貿(mào)工業(yè). 2010(20) 5 李林濤,朱珊虹. 基于Android系統(tǒng)的手機(jī)游戲黑白棋的設(shè)計(jì)與實(shí)現(xiàn)J. 新鄉(xiāng)學(xué)院學(xué)報(bào)(自然科學(xué)版). 2011(03) 6 叢秋波. 用于Android手機(jī)操作系統(tǒng)的視頻引擎J. 電子設(shè)計(jì)技術(shù). 2010(07) 7 王豐,付明棟,馮海亮,施玉海. 智能終端圖形用戶界
20、面設(shè)計(jì)與實(shí)現(xiàn)J. 廣播電視信息. 2011(08)8 溫敏,艾麗蓉,王志國(guó). Android智能手機(jī)系統(tǒng)中文件實(shí)時(shí)監(jiān)控的研究與實(shí)現(xiàn)J. 科學(xué)技術(shù)與工程. 2009(07) 9 劉牛.基于Android平臺(tái)的數(shù)字電視機(jī)頂盒模擬器的研究與開(kāi)發(fā)D. 蘭州大學(xué) 2012 10 王康.Android RIL研究及其在無(wú)線通訊模塊上的實(shí)現(xiàn)D. 太原科技大學(xué) 2012 附錄: package com.example;import android.app.Activity; import android.os.Bundle; import android.view.View; import android.v
21、iew.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity private Button btnNum = new Button11;/ 數(shù)值按鈕 private Button btnCommand = new Button5;/ 符號(hào)按鈕 private EditText editText = null;/ 顯示區(qū)域 private Button btnClear = null; / clea
22、r按鈕 private String lastCommand; / 用于保存運(yùn)算符 private boolean clearFlag; / 用于判斷是否清空顯示區(qū)域的值,true需要,false不需要 private boolean firstFlag; / 用于判斷是否是首次輸入,true首次,false不是首次 private double result; / 計(jì)算結(jié)果 public MainActivity() / 初始化各項(xiàng)值 result = 0; / x的值 firstFlag = true; / 是首次運(yùn)算 clearFlag = false; / 不需要清空 lastComm
23、and = =; / 運(yùn)算符 Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); / 獲取運(yùn)算符 btnCommand0 = (Button) findViewById(R.id.add); btnCommand1 = (Button) findViewById(R.id.subtract); btnCommand2 = (Button) findViewById(R.id.mult
24、iply); btnCommand3 = (Button) findViewById(R.id.divide); btnCommand4 = (Button) findViewById(R.id.equal); / 獲取數(shù)字 btnNum0 = (Button) findViewById(R.id.num0); btnNum1 = (Button) findViewById(R.id.num1); btnNum2 = (Button) findViewById(R.id.num2); btnNum3 = (Button) findViewById(R.id.num3); btnNum4 = (
25、Button) findViewById(R.id.num4); btnNum5 = (Button) findViewById(R.id.num5); btnNum6 = (Button) findViewById(R.id.num6); btnNum7 = (Button) findViewById(R.id.num7); btnNum8 = (Button) findViewById(R.id.num8); btnNum9 = (Button) findViewById(R.id.num9); btnNum10 = (Button) findViewById(R.id.point); /
26、 初始化顯示結(jié)果區(qū)域 editText = (EditText) findViewById(R.id.result); editText.setText(0.0); / 實(shí)例化監(jiān)聽(tīng)器對(duì)象 NumberAction na = new NumberAction(); CommandAction ca = new CommandAction(); for (Button bc : btnCommand) bc.setOnClickListener(ca); for (Button bc : btnNum) bc.setOnClickListener(na); / clear按鈕的動(dòng)作 btnClea
27、r = (Button) findViewById(R.id.clear); btnClear.setOnClickListener(new OnClickListener() Override public void onClick(View view) editText.setText(0.0); / 初始化各項(xiàng)值 result = 0; / x的值 firstFlag = true; / 是首次運(yùn)算 clearFlag = false; / 不需要清空 lastCommand = =; / 運(yùn)算符 ); / 數(shù)字按鈕監(jiān)聽(tīng)器 private class NumberAction imple
28、ments OnClickListener Override public void onClick(View view) Button btn = (Button) view; String input = btn.getText().toString(); if (firstFlag) / 首次輸入 / 一上就.,就什么也不做 if (input.equals(.) return; / 如果是0.0的話,就清空 if (editText.getText().toString().equals(0.0) editText.setText(); firstFlag = false;/ 改變是否首次輸入的標(biāo)記值 else String editTextStr = editText.getText().toString(); / 判斷顯示區(qū)域的值里面是否已經(jīng)有.,如果有,輸入的又是.,就什么都不做 if (editTextStr.indexOf(.) != -1 & input.equals(.) return; / 判斷顯示區(qū)域的值里面只有-,輸入的又是.,就什么都不做 if (editTextStr.equals(-) & input.equals(.) return; / 判斷顯示區(qū)域的值如果是0,輸入的不是.,就什么也不
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人租房合同的(31篇)
- 2024-2025學(xué)年北京市房山區(qū)高一上學(xué)期期中考試歷史試卷
- 2025年公共設(shè)施配套建設(shè)項(xiàng)目房屋征收合同
- 2025年住宅銷售策劃合同模板規(guī)定
- 2025年官方離婚協(xié)議范本策劃(雙方同意版)
- 2025年全球貿(mào)易合同制定原則及合規(guī)要求解析
- 2025年債權(quán)轉(zhuǎn)讓與貸款合作協(xié)議
- 2025年車輛所有權(quán)變更策劃協(xié)議書模板
- 2025年農(nóng)村土地利用合作協(xié)議
- 2025年人事檔案授權(quán)委托協(xié)議
- 廣東省2024年普通高中學(xué)業(yè)水平合格性考試語(yǔ)文仿真模擬卷01(解析版)
- 信息科技重大版 七年級(jí)上冊(cè) 互聯(lián)網(wǎng)應(yīng)用與創(chuàng)新 第1單元 單元教學(xué)設(shè)計(jì) 互聯(lián)網(wǎng)時(shí)代
- CR200J動(dòng)力集中動(dòng)車組拖車制動(dòng)系統(tǒng)講解
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)參考答案
- 腎性高血壓的護(hù)理
- 國(guó)際貨物運(yùn)輸委托代理合同(中英文對(duì)照)全套
- 全面新編部編版四年級(jí)下冊(cè)語(yǔ)文教材解讀分析
- 《建筑工程質(zhì)量檢驗(yàn)評(píng)定標(biāo)準(zhǔn)》
- 教學(xué)能力大賽-教學(xué)實(shí)施報(bào)告《大學(xué)英語(yǔ)2c》
- 江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握小堵殬I(yè)技能測(cè)試》參考試題庫(kù)(含答案)
- VDA6.3 2023過(guò)程審核教材
評(píng)論
0/150
提交評(píng)論