




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、word摘要Android是當(dāng)今最重要的 開發(fā)平臺(tái)之一,它是建立在Java根底之上的,能夠迅速建立 軟件的解決方案。Android的功能十分強(qiáng)大,成為當(dāng)今軟件行業(yè)的一股新興力量。Android基于Linux平臺(tái),由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,具有以下5個(gè)特點(diǎn):開放性、應(yīng)用程序無界限、應(yīng)用程序是在平等條件下創(chuàng)立的,應(yīng)用程序可以輕松的嵌入網(wǎng)絡(luò)、應(yīng)用程序可以并行運(yùn)行。而簡(jiǎn)單計(jì)算器又是 上必備的小程序,所以此次創(chuàng)新實(shí)踐很有意義。并且具有很強(qiáng)的使用性。關(guān)鍵字:Android Java根底 計(jì)算器.word目錄第1章 開發(fā)工具與環(huán)境11.1 Android平臺(tái)11.2 Java開發(fā)環(huán)境11.
2、3 Eclipse11.4 Android程序根底Android應(yīng)用程序的構(gòu)成2第2章 系統(tǒng)分析與設(shè)計(jì)42.1系統(tǒng)的可行性分析42.2 系統(tǒng)的需求分析42.3 系統(tǒng)的優(yōu)勢(shì)42.4 系統(tǒng)的流程圖5第3章 系統(tǒng)詳細(xì)設(shè)計(jì)63.1 動(dòng)作Activity63.2 布局文件XML63.3 Activity的詳細(xì)設(shè)計(jì)73.2 布局文件XML的詳細(xì)設(shè)計(jì)213.2 系統(tǒng)的運(yùn)行結(jié)果24結(jié)論25參考文獻(xiàn)26.word第1章 開發(fā)工具與環(huán)境1.1 Android平臺(tái)1. 谷歌與開放 聯(lián)盟合作開發(fā)了Android, 這個(gè)聯(lián)盟由包括中國(guó)移動(dòng)、摩托羅拉、高通、宏達(dá)和T-Mobile在內(nèi)的30多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成
3、。2. Android是一個(gè)真正意義上的開放性移動(dòng)設(shè)備綜合平臺(tái)。通過與運(yùn)營(yíng)商、設(shè)備制造商、開發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,來建立標(biāo)準(zhǔn)化、開放式的移動(dòng) 軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開放式的生態(tài)系統(tǒng),這樣應(yīng)用之間的通用性和互聯(lián)性將在最大程度上得到保持。3. 所有的Android應(yīng)用之間是完全平等的。4. 所有的應(yīng)用都運(yùn)行在一個(gè)核心的引擎上面,這個(gè)核心引擎其實(shí)就是一個(gè)虛擬機(jī),它提供了一系列用于應(yīng)用和硬件資源間進(jìn)行通訊的API。撇開這個(gè)核心引擎,Android的所有其他的東西都是“應(yīng)用。5. Android打破了應(yīng)用之間的界限,比方開發(fā)人員可以把Web上的數(shù)據(jù)與本地的聯(lián)系人,日歷,位置
4、信息結(jié)合起來,為用戶創(chuàng)造全新的用戶體驗(yàn)。1.2 Java開發(fā)環(huán)境Java技術(shù)包含了一個(gè)編程語言及一個(gè)平臺(tái)。Java編程語言具有很多特性,如面向?qū)ο?、跨平臺(tái)、分布式、多線程、解釋性等等。Java編程語言起源于Sun公司的一個(gè)叫“Green的工程,目的是開發(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.66.0版本,這是目前的最新版本。Java1.2版本是一個(gè)重要的版本,基于該版本,Sun將Java技術(shù)分為
5、J2SE、J2ME、J2EE,其中J2SE為創(chuàng)立和運(yùn)行Java程序提供了最根本的環(huán)境,J2ME與J2EE建立在J2SE的根底上,J2ME為嵌入式應(yīng)用如運(yùn)行在 里的Java程序提供開發(fā)與運(yùn)行環(huán)境,J2EE為分布式的企業(yè)應(yīng)用提供開發(fā)與運(yùn)行環(huán)境。1.3 EclipseEclipse的根底是富客戶機(jī)平臺(tái)Rich Client Platform,即RCP。RCP包括以下組件:l 核心平臺(tái)Eclipse,運(yùn)行插件l 標(biāo)準(zhǔn)集束框架OSGi : Open Service Gateway initiativel 可移植構(gòu)件工具包SWT : Eclipse's Standard Widget Toolki
6、tl JFace文件緩沖,文本處理,文本編輯器Eclipse采用的技術(shù)是IBM公司開發(fā)的SWT,這是一種基于Java的窗口組件,類似Java本身提供的AWT和Swing窗口組件:不過IBM聲稱SWT比其他Java窗口組件更有效率。Eclipse的用戶界面還使用了GUI中間層JFace,從而簡(jiǎn)化了基于SWT的應(yīng)用程序的構(gòu)建。Eclipse的設(shè)計(jì)思想是:一切皆插件。Eclipse核心很小,其他所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基于內(nèi)核包括:圖形APISWT/JFace,Java開發(fā)環(huán)境插件(JDT),插件開發(fā)環(huán)境PDE等。Eclipse的插件機(jī)制是輕型軟件組件化架構(gòu)
7、。在富客戶機(jī)平臺(tái)上,Eclipse使用插件來提供所有的附加功能,例如支持Java以外的其他語言。已有的別離的插件已經(jīng)能夠支持C/C+(CDT)、Perl、Ruby、Python、telnet和數(shù)據(jù)庫(kù)開發(fā)。插件架構(gòu)能夠支持將任意的擴(kuò)展參加到現(xiàn)有環(huán)境中,例如配置管理,而決不僅僅限于支持各種編程語言。1.4 Android程序根底Android應(yīng)用程序的構(gòu)成 1.Activity 顧名思義,Activity就是活動(dòng)。應(yīng)用程序必須至少包含一個(gè)Activity。Activity提供了一個(gè)虛擬的用戶接口,每一個(gè)Activity都有一個(gè)默認(rèn)的窗口可以用來顯示用戶界面,一般情況下,它是全屏的窗口。例如,影音播
8、放軟件的每個(gè)用戶界面就是Activity。 2.Service Service與Activity的主要區(qū)別在于,Service是在后臺(tái)活動(dòng)的,它沒有用戶界面。典型的應(yīng)用場(chǎng)景是,用戶選擇了一個(gè)播放列表開始播放后,離開了該用戶界面(Activity),如果仍然希望歌曲不會(huì)暫停,就可以用Service去調(diào)用播放器,而不是在Activity中調(diào)用播放器。 3.Intent 在Android中,每一個(gè)行為都可以抽象為一個(gè)Intent。可以簡(jiǎn)單地把Intent理解為一個(gè)包含了數(shù)據(jù)的消息。Intent可以用于啟動(dòng)一個(gè)Act-ivity或者Service,可以用于進(jìn)程間的通信。事實(shí)上,應(yīng)用程序的啟動(dòng)也是通過I
9、ntent實(shí)現(xiàn)的。 4.Content providers Android平臺(tái)內(nèi)置了一套SQLite數(shù)據(jù)儲(chǔ)存機(jī)制,并包含一系列管理SQLite Database的相關(guān)方法。在應(yīng)用程序中,可以通過Content prov-iders訪問數(shù)據(jù)庫(kù)。每個(gè)Content provider都定義了一系列的方法用于訪問它對(duì)應(yīng)的數(shù)據(jù)庫(kù)。應(yīng)用程序在新建數(shù)據(jù)庫(kù)時(shí)也可以定義相應(yīng)的Con-tent provider用于向其他應(yīng)用程序共享數(shù)據(jù)。一般情況下,應(yīng)用程序不直接調(diào)用Content provider定義的函數(shù),而是通過ContentResolver間接調(diào)用。第2章 系統(tǒng)分析與設(shè)計(jì)2.1系統(tǒng)的可行性分析可行性研究是
10、為了弄清楚系統(tǒng)開發(fā)的工程是不是可以實(shí)現(xiàn)和值得進(jìn)行研究的過程,實(shí)際上是一次大大簡(jiǎn)化系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的過程,所以,進(jìn)行可執(zhí)行性的分析是非常必要的,也是很重要的,經(jīng)過最初的設(shè)計(jì)目標(biāo)和進(jìn)行的實(shí)時(shí)調(diào)查得出以下四點(diǎn)的可行性分析:1技術(shù)可行性:Eclipse + Android ADT的技術(shù)已經(jīng)較為成熟,通過SUN公司現(xiàn)被ORCEL公司收購(gòu)?fù)瞥龅目缙脚_(tái)、動(dòng)態(tài)的JAVA語言進(jìn)行開發(fā)。2運(yùn)行可行性:該系統(tǒng)需要Android虛擬機(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ā)布功能,其中支
11、持所有Android應(yīng)用開發(fā)相關(guān)技術(shù),包括SQLite,Skia,3D制作,Android XML,能夠很好的發(fā)布Android的應(yīng)用程序APK包。3法律可行性:因?yàn)槭亲灾鏖_發(fā)設(shè)計(jì),所以不會(huì)構(gòu)成侵權(quán),在法律上是可行的。通過以上的可行性分析,將采用Eclipse+Android ADT + DDMS技術(shù),運(yùn)用JAVA語言進(jìn)行系統(tǒng)的開發(fā)。2.2 系統(tǒng)的需求分析根據(jù)分析需求,這個(gè)系統(tǒng)必須實(shí)現(xiàn)以下的功能:(1) 實(shí)現(xiàn)簡(jiǎn)單的數(shù)字計(jì)算功能。作為計(jì)算器,其核心就是加減乘除。(2) 能夠在 里面以良好的界面。簡(jiǎn)單計(jì)算器能夠給予用戶良好的人機(jī)互動(dòng)界面。2.3 系統(tǒng)的優(yōu)勢(shì)Android是以Linux為核心的 操作
12、平臺(tái),作為一款開放式的操作系統(tǒng),隨著Android的快速開展,如今已允許開發(fā)者使用多種編程語言來開發(fā)Android應(yīng)用程序,而不再是以前只能使用Java開發(fā)Android應(yīng)用程序的單一局面,因而受到眾多開發(fā)者的歡送,成為真正意義上的開放式操作系統(tǒng)。本次課程設(shè)計(jì)一個(gè)簡(jiǎn)易的計(jì)算器。主要了解Activity的創(chuàng)立和Intent的使用。Intent不僅可以連接兩個(gè)Activity。而且可以傳遞數(shù)據(jù)。下面是整個(gè)程序的設(shè)計(jì)流程。2.4 系統(tǒng)的流程圖 本程序的流程是一個(gè)開機(jī)畫面,開機(jī)畫面之后就是計(jì)算機(jī)的主頁(yè)面了所有這個(gè)簡(jiǎn)單程序的流程圖如圖2.1所示。第一個(gè)Activity第二個(gè)Activity加法乘法除法減
13、法圖2.1 程序流程圖第3章 系統(tǒng)詳細(xì)設(shè)計(jì)3.1 動(dòng)作Activity 參照程序的流程圖,設(shè)計(jì)五個(gè)Activity。分別為進(jìn)入頁(yè)面的Activity,和選擇運(yùn)算方式的Activity。在這里應(yīng)該注意的是每當(dāng)創(chuàng)立一個(gè)新的class,就要繼承Activity如圖3.1所示。圖3.1 程序所需的Activity3.2 布局文件XML相應(yīng)的,需要在res/layout文件夾中建立3個(gè)XML文件來對(duì)上述的十個(gè)Activity進(jìn)行布局,如圖3.2所示。 圖3.2 3個(gè)XML布局文件總體上所需要的Activity和XML布局文件已經(jīng)建立完畢,下面開始對(duì)進(jìn)入計(jì)算器的Activity進(jìn)行編寫,3.3 Activ
14、ity的詳細(xì)設(shè)計(jì)動(dòng)作模塊中CalculatorActivity.java的詳細(xì)代碼如下:package com.calculator.apk;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widge
15、t.TextView;public class CalculatorActivity extends Activity /* * 對(duì)layout中各組件進(jìn)行定義 */Button btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn0,btnPoint;Button btnJia,btnJian,btnCheng,btnChu;Button btnC,btnE,btnA,btnB;Button btnJieGuo;TextView textView01;EditText et;/定義一個(gè)float類型,用于數(shù)字的運(yùn)算float num1;/定義一個(gè)f
16、loat類型,用于數(shù)字的運(yùn)算float num2;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.calculator);/定義一個(gè)方法,完成對(duì)個(gè)組件的初始化init();/設(shè)置btn1的監(jiān)聽事件btn1.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) /獲取EditText中的值String num1 =
17、 et.getText().toString();/將num1后面連接1,然后再將值賦給EditTextet.setText(num1+1); );/設(shè)置btn2的監(jiān)聽事件btn2.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) /獲取EditText中的值String num1 = et.getText().toString();/將num1后面連接2,然后再將值賦給EditTextet.setText(num1+2); );/設(shè)置btn3的監(jiān)聽事件btn3.setOnClickListe
18、ner(new OnClickListener()Overridepublic void onClick(View v) /獲取EditText中的值String num1 = et.getText().toString();/將num1后面連接3,然后再將值賦給EditTextet.setText(num1+3); );/設(shè)置btn4的監(jiān)聽事件btn4.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) /獲取EditText中的值String num1 = et.getText().toSt
19、ring();/將num1后面連接4,然后再將值賦給EditTextet.setText(num1+4); );/設(shè)置btn5的監(jiān)聽事件btn5.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) /獲取EditText中的值String num1 = et.getText().toString();/將num1后面連接5,然后再將值賦給EditTextet.setText(num1+5); );/設(shè)置btn6的監(jiān)聽事件btn6.setOnClickListener(new OnClickLis
20、tener()Overridepublic void onClick(View v) /獲取EditText中的值String num1 = et.getText().toString();/將num1后面連接6,然后再將值賦給EditTextet.setText(num1+6); );/設(shè)置btn7的監(jiān)聽事件btn7.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) /獲取EditText中的值String num1 = et.getText().toString();/將num1后面連接7
21、,然后再將值賦給EditTextet.setText(num1+7); );/設(shè)置btn8的監(jiān)聽事件btn8.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) /獲取EditText中的值String num1 = et.getText().toString();/將num1后面連接8,然后再將值賦給EditTextet.setText(num1+8); );/設(shè)置btn9的監(jiān)聽事件btn9.setOnClickListener(new OnClickListener()Overridepub
22、lic void onClick(View v) /獲取EditText中的值String num1 = et.getText().toString();/將num1后面連接9,然后再將值賦給EditTextet.setText(num1+9); );/設(shè)置btn0的監(jiān)聽事件btn0.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) /獲取EditText中的值String num1 = et.getText().toString();/判斷,如果0為首次輸入,并且0為首位數(shù)字,那么將以下按鈕
23、設(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.setEnab
24、led(false);btnJian.setEnabled(false);btnCheng.setEnabled(false);btnChu.setEnabled(false);et.setText("0");else/如果0不為第一個(gè)數(shù)字,那么將num1后面連接0,然后再將值賦給EditTextet.setText(num1+0); );/設(shè)置btnPoint的監(jiān)聽事件btnPoint.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) /不管以下按鈕可不可用,都將設(shè)為可用
25、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);btnC
26、heng.setEnabled(true);btnChu.setEnabled(true);/獲取EditText中的值String num1 = et.getText().toString();/此處方法是判斷小數(shù)點(diǎn)是否存在if(num1.indexOf(".")<0)/檢索“.的index值,如果不存在,返回的是-1/此處判斷小數(shù)點(diǎn)是否在字符串的開頭if(num1.length()>0)/如果不是在字符串的開頭,那么將num1后面連接“.,然后再將值賦給EditText et.setText(num1+".");else/如果小數(shù)點(diǎn)在字符
27、串的開頭,那么將EditText的值設(shè)為空et.setText("");else/如果小數(shù)點(diǎn)在前面的數(shù)字中已經(jīng)出現(xiàn),那么EditText的值不變et.setText(num1); );/設(shè)置btnC的監(jiān)聽事件btnC.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) btn1.setEnabled(true);btn2.setEnabled(true);btn3.setEnabled(true);btn4.setEnabled(true);btn5.setEnabled(t
28、rue);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);btnChu.setEnabled(true);/清空EditTextet.setText(""); /清空TextViewtextView01.
29、setText("");/num1和num2的值歸零num1=0;num2=0; );/設(shè)置btnE的監(jiān)聽事件btnE.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) /設(shè)置一個(gè)顯式意圖,用于CalculatorActivity和AboutActivity之間的跳轉(zhuǎn)Intent intent = new Intent(CalculatorActivity.this,MainActivity.class);startActivity(intent); );/設(shè)置btnJia
30、的監(jiān)聽事件btnJia.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) /獲取EditText的值String num = et.getText().toString().trim();/判斷,如果EditText為空,那么將EditText設(shè)置為空,如果不為空,那么將EditText的值轉(zhuǎn)化為float類型if(num.length()=0)et.setText("");elsenum1 = Float.parseFloat(num);/將符號(hào)"+"
31、賦給TextViewtextView01.setText("+");/清空EidtTextet.setText(""); );/設(shè)置btnJian的監(jiān)聽事件btnJian.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) /獲取EditText的值String num = et.getText().toString().trim();/判斷,如果EditText為空,那么將EditText設(shè)置為空,如果不為空,那么將EditText的值轉(zhuǎn)化為float類
32、型if(num.length()=0)et.setText("");elsenum1 = Float.parseFloat(num);/將符號(hào)"-"賦給TextViewtextView01.setText("-");/清空EidtTextet.setText(""); );/設(shè)置btnCheng的監(jiān)聽事件btnCheng.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) /獲取EditText的值String nu
33、m = et.getText().toString().trim();/判斷,如果EditText為空,那么將EditText設(shè)置為空,如果不為空,那么將EditText的值轉(zhuǎn)化為float類型if(num.length()=0)et.setText("");elsenum1 = Float.parseFloat(num);/將符號(hào)"*"賦給TextViewtextView01.setText("*");/清空EidtTextet.setText(""); );/設(shè)置btnChu的監(jiān)聽事件btnChu.setOnC
34、lickListener(new OnClickListener()Overridepublic void onClick(View v) /獲取EditText的值String num = et.getText().toString().trim();/判斷,如果EditText為空,那么將EditText設(shè)置為空,如果不為空,那么將EditText的值轉(zhuǎn)化為float類型if(num.length()=0)et.setText("");elsenum1 = Float.parseFloat(num);/將符號(hào)"/"賦給TextViewtextView
35、01.setText("/");/清空EidtTextet.setText(""); );/設(shè)置btnJieGuo的監(jiān)聽事件btnJieGuo.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) /獲取EditText的值String num22 = et.getText().toString().trim();/判斷,如果EditText的值為空,那么將EditText的值設(shè)為空,如果不為空,那么將EditText的值轉(zhuǎn)化為float類型if(num22
36、.length()<=0)et.setText("");elsenum2 = Float.parseFloat(num22);/獲取TextView的值String fuhao = textView01.getText().toString().trim();/如果TextView的符號(hào)為“+,將num1和num2相加,并把值賦給EditTextif("+"=fuhao) float numjiguo1 = num1 + num2; et.setText(""+numjiguo1);else /如果TextView的符號(hào)為“-,
37、將num1和num2相減,并把值賦給EditTextif("-"=fuhao) float numjiguo1 = num1 - num2; et.setText(""+numjiguo1);else /如果TextView的符號(hào)為“*,將num1和num2相乘,并把值賦給EditTextif("*"=fuhao) float numjiguo1 = num1 * num2; et.setText(""+numjiguo1);else /如果TextView的符號(hào)為“/,將num1和num2相除,并把值賦給Edit
38、Textif("/"=fuhao) float numjiguo1 = num1 / num2; et.setText(""+numjiguo1); );/設(shè)置btnB的監(jiān)聽事件,此處為這只退格鍵btnB.setOnClickListener(new OnClickListener()Overridepublic void onClick(View v) /不管以下按鈕是否為可用,都將設(shè)置為可用btn1.setEnabled(true);btn2.setEnabled(true);btn3.setEnabled(true);btn4.setEnabled
39、(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);btnChu.setEnabled(true);/獲取EditText的值String num = et.getTex
40、t().toString().trim();/獲得EditText的長(zhǎng)度int length = et.length();/判斷,如果EditText的長(zhǎng)度大于0,那么獲取length-1的字符串賦給EditText,否那么設(shè)置EditText為空if(length>0) String numRe = num.substring(0, length-1); et.setText(numRe);elseet.setText(""); );/設(shè)置btnA的監(jiān)聽事件btnA.setOnClickListener(new OnClickListener()Overridepu
41、blic void onClick(View v) /設(shè)置一個(gè)顯式意圖,用于CalculatorActivity和AboutActivity之間的跳轉(zhuǎn)Intent intent = new Intent(CalculatorActivity.this,AboutActivity.class);startActivity(intent); );/* * 定義一個(gè)方法,完成對(duì)個(gè)組件的初始化 */void init()btn1 = (Button)findViewById(R.id.btn1);btn2 = (Button)findViewById(R.id.btn2);btn3 = (Button
42、)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);bt
43、nPoint = (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)
44、;btnA = (Button)findViewById(R.id.btnA);btnB = (Button)findViewById(R.id.btnB);btnJieGuo = (Button)findViewById(R.id.btnJieguo);et = (EditText)findViewById(R.id.ed);textView01 = (TextView)findViewById(R.id.textView01);3.2 布局文件XML的詳細(xì)設(shè)計(jì)布局文件main.xml編寫布局代碼如下:<xml version="1.0" encoding=&quo
45、t;utf-8"><LinearLayout xmlns:android=" :/schemas.android /apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="drawable/bg_android01" android:gravity=&qu
46、ot;center" > <Button android:layout_width="80px" android:layout_height="80px" android:layout_marginBottom="35px" android:id="+id/btnshow" android:text="開始計(jì)算"> </Button></LinearLayout>三個(gè)Activity創(chuàng)立完成后,我們需要實(shí)現(xiàn)以下動(dòng)作:在用戶翻開軟件之后,點(diǎn)擊“開
47、始計(jì)算,然后跳轉(zhuǎn)到選擇運(yùn)算法那么的界面,當(dāng)用戶輸入數(shù)字點(diǎn)擊加減乘除后運(yùn)算得到結(jié)果。由此可見,在整個(gè)動(dòng)作中,需要使用偵聽代碼來識(shí)別用戶的操作,然后使用Intent來實(shí)現(xiàn)Activity的切換。例如開始界面跳轉(zhuǎn)到主界面:首先在“開始計(jì)算按鈕上設(shè)置偵聽代碼如下:button1.setOnClickListener(new button1Listener();然后開始偵聽,當(dāng)用戶點(diǎn)擊“開始計(jì)算時(shí),啟動(dòng)Intent來將本界面切換到主界面,在這里需要JAVA中偵聽的方法和Intent方法,代碼如下class button1Listener implements OnClickListenerOverrid
48、epublic void onClick(View v) / TODO Auto-generated method stub/生成一個(gè)Intent對(duì)象Intent intent = new Intent(); intent.setClass(jisuanqi.this, Activityone.class);jisuanqi.this.startActivity(intent); 在這句代碼當(dāng)中intent.setClass(jisuanqi.this, Activityone.class);是規(guī)定了本次跳轉(zhuǎn)是從哪個(gè)Activity跳轉(zhuǎn)到Activity,在這里是從jisuanqi.java跳轉(zhuǎn)到Activity.java。完成了Activity之間的切換,下面我們開始進(jìn)行運(yùn)算的編輯,在加法界面,我們編寫如下代碼來實(shí)現(xiàn)將用戶輸入的兩個(gè)數(shù)傳送到Intent中: /生成一個(gè)I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省昭通一中教研聯(lián)盟2024-2025學(xué)年高一上學(xué)期期中質(zhì)量檢測(cè)地理試題(A卷)(含答案)
- 江蘇省連云港市海州區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期期末生物學(xué)試題(含答案)
- 水處理技術(shù)開發(fā)合同
- 人工智能金融風(fēng)險(xiǎn)評(píng)估與控制手冊(cè)
- 生物學(xué)基因工程研究熱點(diǎn)練習(xí)題集編選
- 股份制公司運(yùn)營(yíng)指南
- 航空模型制造安全責(zé)任協(xié)議
- 高分子化學(xué)材料性質(zhì)題庫(kù)
- 語言學(xué)語言應(yīng)用知識(shí)問答
- 高中英語閱讀技巧課:如何快速找到文章主旨與細(xì)節(jié)教案
- GB/T 20972.2-2025石油天然氣工業(yè)油氣開采中用于含硫化氫環(huán)境的材料第2部分:抗開裂碳鋼、低合金鋼和鑄鐵
- 美團(tuán)供應(yīng)鏈管理案例分析
- 《鈉離子電池產(chǎn)業(yè)發(fā)展白皮書》
- 深圳市一模+Z20名校聯(lián)盟+浙江名校協(xié)作體高三語文2月聯(lián)考作文題目解析及相關(guān)范文
- 2025中考作文預(yù)測(cè)
- 油氣田開發(fā)專業(yè)危害因素辨識(shí)與風(fēng)險(xiǎn)防控
- 2025年浙江省衢州市常山糧食收儲(chǔ)有限責(zé)任公司招聘筆試參考題庫(kù)附帶答案詳解
- 假肢安裝合同范本
- 《重大基礎(chǔ)設(shè)施項(xiàng)目涉及風(fēng)景名勝區(qū)選址論證報(bào)告編制技術(shù)規(guī)范》編制說明
- 2025年中國(guó)中煤能源股份有限公司招聘筆試參考題庫(kù)含答案解析
- 2024年蘇州健雄職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論