基于Android計(jì)算器的開(kāi)發(fā)與測(cè)試_第1頁(yè)
基于Android計(jì)算器的開(kāi)發(fā)與測(cè)試_第2頁(yè)
基于Android計(jì)算器的開(kāi)發(fā)與測(cè)試_第3頁(yè)
基于Android計(jì)算器的開(kāi)發(fā)與測(cè)試_第4頁(yè)
基于Android計(jì)算器的開(kāi)發(fā)與測(cè)試_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)目名稱(chēng) 基于android計(jì)算器的開(kāi)發(fā)與測(cè)試 二 級(jí) 學(xué) 院 信息工程學(xué)院 專(zhuān) 業(yè) 班 級(jí) 11級(jí) 姓 名 學(xué) 號(hào) 日 期 2014-11-19 精品.項(xiàng)目名稱(chē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附錄:17精品.1 緒論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)了很多專(zhuān)門(mén)制作

4、手機(jī)軟件的公司,雖然制作的多是游戲軟件,但是一些輔助性的工具軟件也有了很多.我們?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ǔ)言編寫(xiě)的。 1.activity 顧名思義,activity就是活

5、動(dòng)。應(yīng)用程序必須至少包含一個(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è)行為都可以抽象為

6、一個(gè)intent??梢院?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用于向其他

7、應(yīng)用程序共享數(shù)據(jù)。一般情況下,應(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)容,包括了

8、java運(yùn)行環(huán)境、java工具和java基礎(chǔ)類(lèi)庫(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)用軟件工具的集合。因此and

9、roid sdk是android專(zhuān)屬的開(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)需要androi

10、d虛擬機(jī)環(huán)境,eclipse中安裝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)以下的功能

11、:(1) 實(shí)現(xiàn)簡(jiǎn)單的數(shù)字計(jì)算功能。作為計(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ī)畫(huà)面,開(kāi)機(jī)畫(huà)面之后就是計(jì)算機(jī)的主頁(yè)面了所有這個(gè)簡(jiǎn)單程序的流程圖如圖3.1所示。開(kāi)始顯示計(jì)算機(jī)界面精品.輸入

12、數(shù)值選擇功能鍵判斷選項(xiàng)加減乘除clear結(jié)束圖 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ì)算器的畫(huà)面。同時(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

13、.2用戶界面設(shè)計(jì)界面設(shè)計(jì)應(yīng)該盡量簡(jiǎn)潔而美觀,應(yīng)該具有良好的交互性。當(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 o

14、nclicklistener override public 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ì)算

15、精品. jsp(double.parsedouble(edittext.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.equa

16、ls(*) result *= x; else if (lastcommand.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

17、+2時(shí)的狀態(tài)如圖5.2所示:圖5.2測(cè)試結(jié)果圖2.測(cè)試1*2時(shí)如圖5.3所示:圖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ò)程中,從需求分析

18、到總體架構(gòu)的構(gòu)思,到最后代碼的編寫(xiě)我投入了大量的時(shí)間和精力,對(duì)系統(tǒng)中的每個(gè)功能都進(jìn)行了反復(fù)的調(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è)跁?shū)本上學(xué)到和平時(shí)老師傳授的知識(shí),而且還學(xué)到了許多書(shū)本上學(xué)不到的知識(shí),并運(yùn)用了網(wǎng)絡(luò)這個(gè)平臺(tái)查詢一些不明白的知識(shí)點(diǎn)。指導(dǎo)老師在我軟件代碼編寫(xiě)和后期軟件調(diào)試期間,給我很大的幫助。要謝謝各位幫過(guò)我的老師和同學(xué)。這次

19、的實(shí)驗(yàn)讓我對(duì)我的學(xué)過(guò)的知識(shí)有了深一步的了解。精品. 參考文獻(xiàn)1 劉敏.移動(dòng)終端的android移植與應(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)的視頻引

20、擎j. 電子設(shè)計(jì)技術(shù). 2010(07) 7 王豐,付明棟,馮海亮,施玉海. 智能終端圖形用戶界面設(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 androi

21、d.os.bundle; import android.view.view; import android.view.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 editte

22、xt = null;/ 顯示區(qū)域 private button btnclear = null; / clear按鈕 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的值 fi

23、rstflag = true; / 是首次運(yùn)算 clearflag = false; / 不需要清空 lastcommand = =; / 運(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.

24、id.subtract); btncommand2 = (button) findviewbyid(r.id.multiply); 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.num

25、2); btnnum3 = (button) findviewbyid(r.id.num3); btnnum4 = (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(

26、r.id.num9); btnnum10 = (button) findviewbyid(r.id.point); / 初始化顯示結(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 b

27、c : btnnum) bc.setonclicklistener(na); / clear按鈕的動(dòng)作 精品. btnclear = (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; / 不需要清空 lastc

28、ommand = =; / 運(yùn)算符 ); / 數(shù)字按鈕監(jiān)聽(tīng)器 private class numberaction implements 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.equa

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論