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

下載本文檔

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

文檔簡介

1、沈陽理工大學(xué)課程設(shè)計專用紙摘要Android是當(dāng)今最重要的手機(jī)開發(fā)平臺之一,它是建立在Java基礎(chǔ)之上的,能夠迅速建 立手機(jī)軟件的解決方案。Android的功能十分強(qiáng)大,成為當(dāng)今軟件行業(yè)的一股新興力量。Android基于Linux平臺,由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,具有以下5個特點(diǎn):開放性、應(yīng)用程序無界限、應(yīng)用程序是在平等條件下創(chuàng)建的,應(yīng)用程序可以輕松 的嵌入網(wǎng)絡(luò)、應(yīng)用程序可以并行運(yùn)行。而簡單計算器乂是手機(jī)上必備的小程序,所以此次 創(chuàng)新實(shí)踐很有意義。并且具有很強(qiáng)的使用性。關(guān)鍵字:Android Java基礎(chǔ) 計算器沈陽理工大學(xué)課程設(shè)計專用紙目錄1) I-C ) 11.1I 11.

2、2Java開發(fā)環(huán)境.11.3Eclipse.11.4Audioid程序基礎(chǔ)一Android應(yīng)用程序的構(gòu)成.2第2章系統(tǒng)分析與設(shè)計.42.1系統(tǒng)的可行性分析.42.2系統(tǒng)的需求分析.42.3系統(tǒng)的優(yōu)勢.42.4系統(tǒng)的流程圖.5第3章系統(tǒng)詳細(xì)設(shè)計.63.1動作Activity.63.2布局文件XML.63.3Actwky的詳細(xì)設(shè)計.73.2布局文件XML的詳細(xì)設(shè)計.213.2系統(tǒng)的運(yùn)行結(jié)果.24結(jié)論.25參考文獻(xiàn).26沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)第1章開發(fā)工具與環(huán)境1.1 Android平臺1.谷歌與開放手機(jī)聯(lián)盟合作開發(fā)了Android,這個聯(lián)盟由包括中國移動、摩托羅拉、高 通、

3、宏達(dá)和T-Mobile在內(nèi)的30多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成。2. Aiidioid是一個真正意義上的開放性移動設(shè)備綜合平臺。通過與運(yùn)營商、設(shè)備制造商、開發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,來建立標(biāo)準(zhǔn)化、開放式的移動電話軟 件平臺,在移動產(chǎn)業(yè)內(nèi)形成一個開放式的生態(tài)系統(tǒng),這樣應(yīng)用之間的通用性和互聯(lián)性將在 最大程度上得到保持。3.所有的Android應(yīng)用之間是完全平等的。4.所有的應(yīng)用都運(yùn)行在一個核心的引擎上面,這個核心引擎其實(shí)就是一個虛擬機(jī),它提 供了一系列用于應(yīng)用和硬件資源間進(jìn)行通訊的API。 撇開這個核心引擎,Android的所有其 他的東西都是“應(yīng)用”。5. Aiidioid打

4、破了應(yīng)用之間的界限, 比如開發(fā)人員可以把Web的數(shù)據(jù)與本地的聯(lián)系人,日歷,位置信息結(jié)合起來,為用戶創(chuàng)造全新的用戶體驗(yàn)。1.2 Java開發(fā)環(huán)境Java技術(shù)包含了一個編程語言及一個平臺。Java編程語言具有很多特性,如面向?qū)ο?、跨平臺、分布式、多線程、解釋性等等。Java編程語言起源于Sim公司的一個叫“Gwen”的項(xiàng)目,目的是開發(fā)嵌入式家用電器的分布式系統(tǒng),使電氣更加智能化。1996年1月發(fā)布 了JDK1.1版本,一門新語言自此走向世界。之后,1998年12月發(fā)布了1.2版本,2002年2月發(fā)布1.4版本,2004年10月發(fā)布1.5版本(5.0), 2006年12月發(fā)布1.6 (6.0)版本,

5、 這是目前的最新版本。Jawl.2版本是一個重要的版本,基于該版本,Sim將Java技術(shù)分為J2SE、J2ME、J2EE,其中J2SE為創(chuàng)建和運(yùn)行Java程序提供了最基本的環(huán)境,J2ME與J2EE建立在J2SE的基礎(chǔ)上,J2ME為嵌入式應(yīng)用(如運(yùn)行在手機(jī)里的Java程序)提供開發(fā)與運(yùn) 行環(huán)境,J2EE為分布式的企業(yè)應(yīng)用提供開發(fā)與運(yùn)行環(huán)境。沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)1.3 EclipseEclipse的基礎(chǔ)是富客戶機(jī)平臺(RichClient Platfomi,即RCP)。RCP包括下列組件:核心平臺(Eclipse,運(yùn)行插件)標(biāo)準(zhǔn)集束框架(OSG1 : Open Sende

6、e Gateway liutiative)可移植構(gòu)件工具包(SWT : Eclipses Standard Widget Toolkit)JFace(文件緩沖,文本處理,文本編輯器)Eclipse采用的技術(shù)是IBM公司開發(fā)的SWT,這是一種基于Java的窗口組件,類似Java本身提供的AWT和Swing窗口組件:不過IBM聲稱SWT比其他Java窗口組件更有效率。Eclipse的用戶界面還使用了GUI中間層JFace,從而簡化了基于SWT的應(yīng)用程序的構(gòu)建。Eclipse的設(shè)計思想是:一切皆插件。Eclipse核心很小,其他所有功能都以插件的形式附加 于Eclipse核心之上。Eclipse基于

7、內(nèi)核包括:圖形API (SWT/JFace), Java開發(fā)環(huán)境插件(JDT),插件開發(fā)環(huán)境(PDE)等。Eclipse的插件機(jī)制是輕型軟件組件化架構(gòu)。在富客戶機(jī) 平臺上,Eclipse使用插件來提供所有的附加功能,例如支持Jaw以外的其他語言。己有的 分離的插件己經(jīng)能夠支持C/C+(CDT)、Peik Ruby、PvthoiKtelnet和數(shù)據(jù)庫開發(fā)。插件 架構(gòu)能夠支持將任意的擴(kuò)展加入到現(xiàn)有環(huán)境中,例如配置管理,而決不僅僅限于支持各種 編程語言。1.4 Android程序基礎(chǔ)一Android應(yīng)用程序的構(gòu)成Android T f?1 .Activity顧名思義,Activity就是活動。應(yīng)用程

8、序必須至少包含一個ActivityActivity提供了一個虛擬的用戶接口, 每一個Activity都有一個默認(rèn)的窗口可以用來顯示用 戶界面,沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)一般情況下,它是全屏的窗口。例如,影音播放軟件的每個用戶界面就是Activity。2.SendeeSeivice與Activity的主要區(qū)別在于,Service是在后臺活動的,它沒有用戶界面。典型的應(yīng)用場景是,用戶選擇了一個播放列表開始播放后,離開了該用戶 界面(Activity),如果仍然希望歌曲不會暫停,就可以用Seivice去調(diào)用播放器,而不是在Activity中調(diào)用播放器。3. Intent在Andr

9、oid中,每一個彳亍為都可以抽象為一個Intent??梢院唵蔚匕袸ntent理解為一個包含了數(shù)據(jù)的消息。Intent可以用于啟動一個Act-ivity或者Service,可以用于進(jìn)程間的通信。事實(shí)上,應(yīng)用程序的啟動也是通過Intem實(shí)現(xiàn)的。4. Contentprovideis Android平臺內(nèi)置了一套SQLite數(shù)據(jù)儲存機(jī)制,并包含一系列 管理SQLite Database的相關(guān)方法。在應(yīng)用程序中,可以通過Content prov-ideis訪問數(shù)據(jù)庫。 每個Content provider都定義了一系列的方法用于訪問它對應(yīng)的數(shù)據(jù)庫。應(yīng)用程序在新建數(shù) 據(jù)庫時也可以定義相應(yīng)的Con-ten

10、t provider用于向其他應(yīng)用程序共-亨數(shù)據(jù)。一般情況下, 應(yīng)用程序不直接調(diào)用Content provider定義的函數(shù),而是通過ContentResolver間接調(diào)用。沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)第2章系統(tǒng)分析與設(shè)計2.1系統(tǒng)的可行性分析可行性研究是為了弄清楚系統(tǒng)開發(fā)的項(xiàng)目是不是可以實(shí)現(xiàn)和值得進(jìn)行研究的過程, 實(shí) 際上是一次大大簡化系統(tǒng)分析和系統(tǒng)設(shè)計的過程,所以,進(jìn)行可執(zhí)行性的分析是非常必要 的,也是很重要的,經(jīng)過最初的設(shè)計目標(biāo)和進(jìn)行的實(shí)時調(diào)查得出以下四點(diǎn)的可行性分析:(1) 技術(shù)可行性:Eclipse + Android ADT的技術(shù)己經(jīng)較為成熟,通過SUN公司(現(xiàn)

11、被ORCEL公司收購)推出的跨平臺、動態(tài)的JAVA.語言進(jìn)行開發(fā)。(2)運(yùn)行可行性: 該系統(tǒng)需要Aiidioid虛擬機(jī)環(huán)境,Eclipse中安裝ADT, DDMS等GoogleAiidioid相關(guān)插件。其運(yùn)行環(huán)境己經(jīng)相當(dāng)穩(wěn)定,它功能豐富,包括了完備的Android程序的編碼、調(diào)試、測試和發(fā)布功能,其中支持所有Aiidioid應(yīng)用開發(fā)相關(guān)技術(shù),包括SQLite, Skia, 3D制作,Aiidioid XML,能夠很好的發(fā)布Android的應(yīng)用程序APK包。(3)法律可行性:因?yàn)槭亲灾鏖_發(fā)設(shè)計,所以不會構(gòu)成侵權(quán),在法律上是可行的。 通過以上的可行性分析,將采用Eclipse+Aiidioid A

12、DT + DDMS技術(shù),運(yùn)用JAVA語言進(jìn)行系統(tǒng)的開發(fā)。2.2系統(tǒng)的需求分析根據(jù)分析需求,這個系統(tǒng)必須實(shí)現(xiàn)以下的功能:(1)實(shí)現(xiàn)簡單的數(shù)字計算功能。作為計算器,其核心就是加減乘除。(2)能夠在手機(jī)里面以良好的界面。簡單計算器能夠給予用戶良好的人機(jī)互動界面。2.3系統(tǒng)的優(yōu)勢Android是以Linux為核心的手機(jī)操作平臺,作為一款開放式的操作系統(tǒng),隨著Android的快速發(fā)展,如今己允許開發(fā)者使用多種編程語言來開發(fā)Android應(yīng)用程序,而 不再是以前只能使用沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)Java開發(fā)Android應(yīng)用程序的單一局面,因而受到眾多開發(fā)者的歡沈陽理工大學(xué)課程設(shè)計專用

13、紙NolO沈陽理工大學(xué)迎,成為真正意義上的開放式操作系統(tǒng)。本次課程設(shè)計一個簡易的計算器。主要了解Activity的創(chuàng)建和Intent的使用。Intent不僅可以連接兩個Activity。而且可以傳遞數(shù) 據(jù)。下面是整個程序的設(shè)計流程。2.4系統(tǒng)的流程本程序的流程是一個開機(jī)畫面,開機(jī)畫面之后就是計算機(jī)的主頁面了所有這個簡單程序的流程圖如圖2.1所示。圖2. 1程序流程圖沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)第3章系統(tǒng)詳細(xì)設(shè)計3.1動作Activity參照程序的流程圖,設(shè)計五個Activityo分別為進(jìn)入頁面的Activity,和選擇運(yùn) 算方式的Activity。在這里應(yīng)該注意的是每當(dāng)創(chuàng)建一

14、個新的class,就要繼承Activity如圖3. 1所示。0 gjisuanqi匚SimpleCalculatorAndroid 1.6邑Android Dependencies & src出space i Jj AboutActivityJavabjlj M a i n Activity J a va i f)ResultActivity.java圖3.1程序所需的Activity3.2布局文件XML相應(yīng)的,需要在res/layout文件夾中建立3個XML文件來對上述的十個Activity進(jìn)行布局,如圖3.2所示。 & layout|dj a

15、boutxml main.xmlG resultxml圖3.2 3個XML布局文件總體上所需要的Activity和XML布局文件己經(jīng)建立完畢,下面開始對進(jìn)入計算器的Activity進(jìn)行編寫,沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)3.3 Activity的詳細(xì)設(shè)計動作模塊中Calculator Activity, java的詳細(xì)代碼如下:package com.calculator mpk;import android app Activity;import android content Intent;import android os Bundie;import android.vi

16、ew.View;import android view.View.OnClickListenen;import android widget Button;import android widget EditText;import android widget Textview;public class CalculatorActivity extends Activity /*對layout中各組件進(jìn)行定義*/Button btnl btn2,btn3btn4jbtn5 btn6?btn7丿btn8 btn9?btn0?btnPoint;Button btnJiabtnJian?btnChe

17、ng,btnChu;Button btnCbtnEbtnA?btnB;Button btnJieGuo;Textview textViewOl;EditText et;定義一個float類型,用于數(shù)字的運(yùn)算float numl;定義一個float類型,用于數(shù)字的運(yùn)算float num2;Override沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)protected void onCreate(B cm die savedlnstanceState) super o口(1廠8七0(58611 nsta nceState);setCon*tRntView(R layout calculator)

18、;/定義一個方法,完成對個組件的初始化init();設(shè)置btnl的監(jiān)聽事件btn:l set On ClickListener (new On ClickListe nen( )Overridepublic void onClick(View v) /獲取EditText中的值String numl = et getText() toString();將numl后而連接1,然后再將值賦給EditText et.setText(numl+1););設(shè)置btn2的監(jiān)聽事件btn2 setOnClickListener(new OnClickListenen()Overridepublic void

19、 onClick(View v) /獲取EditText中的值String numl = et getText() toString();將numl后而連接2,然后再將值賦給EditText et setText(numl+2););設(shè)置btn3的監(jiān)聽事件btn3 setOnClickListener(new OnClickListenen()Overridepublic void onClick(View v) /獲取EditText中的值String numl = et getText() toString();/將numl后而連接3,然后再將值賦給EditText et setText(

20、numl+3);沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué));設(shè)置btn4的監(jiān)聽事件btn4 setOnClickListener(new OnClickListenen()Overridepublic void onClick(View v) /獲取EditText中的值String numl = et getText() toString();將numl后而連接4,然后再將值賦給EditText et.setText(numl+4););設(shè)置btn5的監(jiān)聽事件btn5 setOnClickListener(new OnClickListenen()Overridepublic void

21、 onClick(View v) /獲取EditText中的值String numl = et getText() toString();將numl后而連接5,然后再將值賦給EditText et setText(numl+5););設(shè)置btn6的監(jiān)聽事件btn6 setOnClickListener(new OnClickListenen()Overridepublic void onClick(View v) /獲取EditText中的值String numl = et getText() toString();/將numlJu而連接6,然后再將值賦給EditText et setText

22、(numl+6);沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué));設(shè)置btn7的監(jiān)聽事件btn7 setOnClickListener(new OnClickListenen()Overridepublic void onClick(View v) /獲取EditText中的值String numl = et getText() toString();將numl后而連接7,然后再將值賦給EditText et setText(numl+7););設(shè)置btn8的監(jiān)聽事件btn8 setOnClickListener(new OnClickListenen()Overridepublic voi

23、d onClick(View v) /獲取EditText中的值String numl = et getText() toString();/將numl后而連接&然后再將值賦給EditTextet setText(numl+8););設(shè)置btn9的監(jiān)聽事件btn9 setOnClickListener(new OnClickListenen()沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)Overridepublic void onClick(View v) /獲取EditText中的值String numl = et getText() toString();將numl后而連接9,然

24、后再將值賦給EditTextet.setText(numl+9););設(shè)置btn0的監(jiān)聽事件 setOnClickListener(new OnClickListenen()Overridepublic void onClick(View v) /獲取EditText中的值String numl = et getText() toString();/判斷,如果0為首次輸入,并且0為首位數(shù)字,則將下列按鈕設(shè)為不可用if(numl.length()=0)btnl setEnmbled(false);btn2 setEnmbled(false);btn3 setEnmbled(false);btn4

25、.setEnmbled(false);btn5 setEnmbled(false);btn6 setEnmbled(false);btn7 setEnmbled(false);btn8 setEnmbled(false);btn9 setEnmbled(false);btn0 setEnmbled(false);btnJieGuo setEnmbled(false);沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)btnJia setEnabled(false);btnJian setEnabled(false);btnCheng setEnabled(false);btnChu setEnab

26、lecfalse);et.setText(0);else如果0不為第一個數(shù)字,則將numl后而連接0,然后再將值賦給EditTextet.setText(numl+0););設(shè)置btnPoint的監(jiān)聽事件btnPoint setOnClickListenenCnew OnClickListenen()Overridepublic void onClick(View v) 不論下列按鈕可不可用,都將設(shè)為可用btnl setEnmblGcl(*tnue);btn2 setEnmblGcl(*tnue);btn3 setEnmblGcl(*tnue);btn4 setEnmblGcl(*tnue);

27、btn5 setEnmblGcl(*tnue);btn6 setEnmblGcl(*tnue);btn7 setEnmblGcl(*tnue);btn8 setEnmblGcl(*tnue);btn9 setEnmblGcl(*tnue);btn0 setEnmblGcl(*tnue);沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)btnJieGuo setEnmbledCtrue);btn3ia setEnablectruG);btnJimn setE門31?.1(七廠16);btnCheng setEnabled(true);btnChu setEnablectruG);/獲取EditTe

28、xt中的值String numl = et getText() toString();此處方法是判斷小數(shù)點(diǎn)是否存在if(numl.indexOf(. )0)/如果不是在字符串的開頭,則將numl后面連接“”,然后再將值賦給EditTextet. setText(numl+ 11);else如果小數(shù)點(diǎn)在字符串的開頭,貝IJEditText的值設(shè)為空et.setText();else/如果小數(shù)點(diǎn)在前面的數(shù)字中已經(jīng)出現(xiàn),則EditText的值不變et setText(numl););設(shè)置btnC的監(jiān)聽事件btnC setOnClickListener(new OnClickListenen()Ove

29、rride沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)public void onClick(View v) btnl setEnmblGd(*tnue);btn2 setEnmblGd(*tnue);btn3 setEnmblGd(*tnue);btn4 setEnmblGd(*tnue);btn5 setEnmblGd(*tnue);btn6 setEnmblGd(*tnue);btn7 setEnmblGd(*tnue);btn8 setEnmblGd(*tnue);btn9 setEnablGdCtnue);btn0 setEnablGdCtnue);btnJieGuo.setEna

30、bled(true);btnJim setEnablectruG);btnJimn setE門31).1(七廠16);btnCheng setEnabled(true);btnChu setEnablectruG);/淸空EditTextet. setText ( 11);淸空TextViewtextVievjOl. setText ();/ / numl和num2的值歸零numl=0;num2=0;);設(shè)置btnE的監(jiān)聽事件btnE setOnClickListener(new OnClickListenen()Overridepublic void onClick(View v) 沈陽理工

31、大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)/設(shè)置一個顯式意圖,用于Calculator Activity和About Activity之間的跳轉(zhuǎn)Intent intent = new Intenty thisMainActivity.class); startActivity(intent););設(shè)置btnDia的監(jiān)聽事件btn3ia setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) 沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)/獲取EditText的值String num = et getTe

32、xt() toString().trim();/判斷,如果EditText為空,則將EditText設(shè)置為空,如果不為空, 值轉(zhuǎn)化為floa七類型if(num.length()=0)et.setText();elsenuml = Float卩3廠50匸103七(num);/將符號賦給TextViewtextVievjOl. setText (+);/淸空EidtTextet.setText(););設(shè)置btnDian的監(jiān)聽事件btn3ian.setOnClickListenernew OnClickListener()Overridepublic void onClick(View v) /獲

33、取EditText的值String num = et getText() toString().trim();/判斷,如果EditText為空,則將EditText設(shè)置為空,如果不為空, 值轉(zhuǎn)化為floa七類型if(num.length()=0)et.setText();elsenuml = Float卩3廠50匸103七(num);/將符號J賦給TextView沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)textVievjOl. setText/淸空EidtTextet. setText ( 11););設(shè)置btnCheng的監(jiān)聽事件btnCheng setOnClickListenen(

34、new OnClickListe門6介()Overridepublic void onClick(View v) /獲取EditText的值String num = et getText() toString().trim();/判斷,如果EditText為空,則將EditText設(shè)置為空,如果不為空,則將EditText的 值轉(zhuǎn)化為floa七類型if(num.length()=0)et.setText();elsenuml = Float panseFloat:(num);/將符號計賦給TextViewtextViewOl.setText(*);/淸空EidtTextet. setText

35、( 11););設(shè)置btnChu的監(jiān)聽事件btnChu setOnClickListenen(new OnClickListener()Overridepublic void onClick(View v) /獲取EditText的值則將EditText的則將EditText的沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)String num = et getText() toString().trim();/判斷,如果EditText為空,則將EditText設(shè)置為空,如果不為空,貝9將EditText的 值轉(zhuǎn)化為float類型length()=0)et.setText();elsenuml

36、 = Float panseFloat:(num);/將符號M/賦給T extViewtextViewOl.setText(/);/淸空EidtTextet. setText ( 11););設(shè)置btnDieGuo的監(jiān)聽事件btnDieGuo setOnClickListenen(new OnClickListenen()Overridepublic void onClick(View v) /獲取EditText的值String num22 = et getText() toString() trim();/判斷,如果EditText的值為空,則將EditText的值設(shè)為空,如果不為空,則將

37、EditText的值轉(zhuǎn)化為float類型if(num22.length()0)String numRe = num.substring(0?length-1); et setText(numRe);elseet.setText(););設(shè)置btnA的監(jiān)聽事件btnA 50七0門:11.。11匚5七0門0廠(new OnClickListenen()Overridepublic void onClick(View v) 沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)/設(shè)置一個顯式意圖,用于CalculatorActivity和About Activity之間的跳轉(zhuǎn)Intent intent =

38、newIntent(CalculatorActivity thisAboutActivity class); startActivity(intent););/*定義一個方法,完成對個組件的初始化*/void init()btnl=(Button)findViewById(R.id.btnl);btn2=(Button)findViewById(R.id.btn2);btn3=(Button)findViewById(R.id.btn3); btn4 = (Button)findViewById(R.id.btn4); btn5 = (Button)findViewById(R.id.btn5

39、);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)findViewByld(R.id.btnPiont);btnDia=(Button)findViewById(R.id.btnJia);btnDian二(Button)findViewByI

40、d(Rid.btnDian);btnCheng=(Button)findViewByld(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);btnlieGuo = (ButtodViewById(R id btnJieguo);et = (

41、EditText )f indViewByld (R. id. ed);textViewOl = (TextView)f indVievjById(R. id .textViewOl);3.2布局文件XML的詳細(xì)設(shè)計彳j局文件main, xml編寫彳j局代碼如下:沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)CLinearLayout xmlns:mndroid=http:/schemas android com/apk/res/androidandroid:orientation二venticmlandroid:layout_width=fill_parentandroid:layout_h

42、eight=fill_parentandroid:background=drawable/bg_androidOlandroid:gravity=ce門七0廠三個Activity創(chuàng)建完成后, 我們需要實(shí)現(xiàn)以下動作: 在用戶打開軟件之后, 點(diǎn)擊“開 始計算”,然后跳轉(zhuǎn)到選擇運(yùn)算法則的界面,當(dāng)用戶輸入數(shù)字點(diǎn)擊加減乘除后運(yùn)算得到結(jié) 果。由此可見,在整個動作中,需要使用偵聽代碼來識別用戶的操作,然后使用Intent來實(shí)現(xiàn)Activity的切換。例如開始界面跳轉(zhuǎn)到主界面:首先在“開始計算”按鈕上設(shè)置偵聽代碼如下:button 1. setOnClickListenei(new button 1 List

43、ener();然后開始偵聽,當(dāng)用戶點(diǎn)擊“開始計算”時,啟動Intent來將本界面切換到主界面,在這里需要JAVA中偵聽的方法和Intent方法,代碼如下class button 1 Listener implements OnClickListenerOvenidepublic void onClick(View v) / TODO Auto-generated method stub沈陽理工大學(xué)課程設(shè)計專用紙NolO沈陽理工大學(xué)生成一個Intent對象Intent intent = new IntentQ;mtent.setClass(jisuanqi.tliis, Activityone.

44、class);j isuanqi. tins. staitActivity(intent);在這句代碼當(dāng)中intent. setClass (jisuanqi. this, Activityone. class);是規(guī)定了本 次跳轉(zhuǎn)是從哪個Activity跳轉(zhuǎn)到Activity,在這里是從jisuanqi. java跳轉(zhuǎn)到Activity, java。完成了Activity之間的切換,下面我們開始進(jìn)行運(yùn)算的編輯,在加法界面,我們編 寫如下代碼來實(shí)現(xiàn)將用戶輸入的兩個數(shù)傳送到Intent中:生成一個Intent對彖取得兩個值String FactorOnestr=FactorOne.getText

45、().toStnng();String FactorTwosti-FactoiTwo.getTextQ.toStrmgO;取得兩個值放在Intent中Intent intent = new IntentQ;mtent.putExtra(HonenjiashuoneStr);mtent.putExtra(HnvoHJiashutwoSti);使用這個Intent來激活答案頁intent.setClass(plus.this, resultplus.class);plus.this. staitActivity(intent);接下來要進(jìn)行的是顯示答案的Activity的編寫,在這里我們要注意的是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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論