實(shí)驗(yàn)一android環(huán)境構(gòu)建與Activity生命周期_第1頁(yè)
實(shí)驗(yàn)一android環(huán)境構(gòu)建與Activity生命周期_第2頁(yè)
實(shí)驗(yàn)一android環(huán)境構(gòu)建與Activity生命周期_第3頁(yè)
實(shí)驗(yàn)一android環(huán)境構(gòu)建與Activity生命周期_第4頁(yè)
實(shí)驗(yàn)一android環(huán)境構(gòu)建與Activity生命周期_第5頁(yè)
已閱讀5頁(yè),還剩2頁(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í)驗(yàn)一Android環(huán)境構(gòu)建與Activity生命周期【目的】安裝智能手機(jī)開(kāi)發(fā)相關(guān)軟件平臺(tái),并在此基礎(chǔ)上測(cè)試Activity的生命周期過(guò)程?!疽蟆?、 完成智能手機(jī)開(kāi)發(fā)平臺(tái)安裝、以及相關(guān)配置;2、 并實(shí)現(xiàn)Hello World;3、 添加Log日志,通過(guò)Log日志驗(yàn)證Activity生命周期中的7個(gè)方法執(zhí)行過(guò)程;4、 了解項(xiàng)目的基本文件目錄結(jié)構(gòu),了解Activity周期中的4種狀態(tài)?!驹怼?、 Android程序基本組成結(jié)構(gòu)Android應(yīng)用程序的基本組成結(jié)構(gòu)如圖2-1。src/ java原代碼存放目錄該目錄是專(zhuān)門(mén)用來(lái)存放應(yīng)用程序java源碼的。日后編寫(xiě)代碼,基本在這個(gè)目錄下進(jìn)行。gen/

2、自動(dòng)生成目錄gen 目錄中存放所有由Android開(kāi)發(fā)工具自動(dòng)生成的文件。目錄中最重要的就是R.java文件。這個(gè)文件由Android開(kāi)發(fā)工具自動(dòng)產(chǎn)生的。Android開(kāi)發(fā)工具會(huì)自動(dòng)根據(jù)你放入res目錄的xml界面文件、圖標(biāo)與常量,同步更新修改R.java文件。正因?yàn)镽.java文件是由開(kāi)發(fā)工具自動(dòng)生成的,所以我們應(yīng)避免手工修改R.java。R.java在應(yīng)用中起到了字典的作用,它包含了界面、圖標(biāo)、常量等各種資源的id,通過(guò)R.java,應(yīng)用可以很方便地找到對(duì)應(yīng)資源。另外編繹器也會(huì)檢查R.java列表中的資源是否被使用到,沒(méi)有被使用到的資源不會(huì)編繹進(jìn)軟件中,這樣可以減少應(yīng)用在手機(jī)占用的空間。A

3、ndroid 該目錄主要存放Android SDK的jar包,是根據(jù)新建工程時(shí)候選用的SDK版本來(lái)確定的,指向SDK開(kāi)發(fā)版本目錄下的jar包。Android Dependencies該目錄主要存放本工程Android自動(dòng)加載的依賴Jar包。assets/ 資源目錄主要存放應(yīng)用程序中使用的外部資源文件,如聲音 視頻等,在Android程序中可以通過(guò)輸入/輸出流對(duì)該目錄中的文件進(jìn)行讀寫(xiě)。但由于存放在assets目錄下的資源文件不會(huì)在R.java自動(dòng)生成ID,所以讀取/assets目錄下的文件必須指定文件的路徑。bin/ 存放2進(jìn)制文件目錄res/ 資源(Resource)目錄在這個(gè)目錄中我們可以存

4、放應(yīng)用使用到的的圖片、界面布局文件及XML格式的描述文件等各種資源。存放在個(gè)目錄下的資源文件格式有嚴(yán)格的定義,會(huì)相應(yīng)在R.java中自動(dòng)生成ID。該目錄下包含以下子目錄(如圖2-2):Ø drawable:主要存放圖片資源,目錄下一般會(huì)有三個(gè)目錄分別存放高中低三種不同分辨率的圖片Ø layout:該目錄下存放的是手機(jī)界面顯示的布局文件Ø values:主要存放一些資源變量值的配置文件menu: 主要存放菜單文件2、 AndroidManifest.xml的結(jié)構(gòu)和規(guī)則AndroidManifest.xml文件的結(jié)構(gòu)、元素,以及元素的屬性,可以在Android SDK

5、文檔中查看詳細(xì)說(shuō)明。而在看這些眾多的元素以及元素的屬性前,需要先了解一下這些元素在命名、結(jié)構(gòu)等方面的規(guī)則:Ø 元素:在所有的元素中只有<manifest>和<application>是必需的,且只能出現(xiàn)一次。如果一個(gè)元素包 含有其他子元素,必須通過(guò)子元素的屬性來(lái)設(shè)置其值。處于同一層次的元素,這些元素的說(shuō)明是沒(méi)有順序的。Ø 屬性:按照常理,所有的屬性都是可選的,但是有些屬性是必須設(shè)置的。那些真正可選的屬性,即使不存在,其也有默認(rèn)的數(shù)值項(xiàng)說(shuō)明。除了根元 素<manifest>的屬性,所有其他元素屬性的名字都是以“android:”前綴的;&#

6、216; 定義類(lèi)名:所有的元素名都對(duì)應(yīng)其在SDK中的類(lèi)名,如果你自己定義類(lèi)名,必須包含類(lèi)的數(shù)據(jù)包名,如果類(lèi)與application處于同一數(shù)據(jù)包 中,可以直接簡(jiǎn)寫(xiě)為“.”;資源項(xiàng)說(shuō)明:當(dāng)需要引用某個(gè)資源時(shí),其采用如下格式:package:type:name。例 如 <activity android:icon=”drawable/icon ” . . . >3、 Activity的生命周期在Android應(yīng)用程序中,所有的android組件都有它自己的生命周期,代表這一組件從創(chuàng)建到銷(xiāo)毀的整個(gè)過(guò)程。Android生命周期中的四種狀態(tài):Ø 開(kāi)始Activity:在這個(gè)階段依次

7、執(zhí)行3個(gè)生命周期方法:onCreate、onStart和onResume;Ø Activity失去焦點(diǎn):如果在Activity獲得焦點(diǎn)的情況下進(jìn)入其他的Activity或應(yīng)用程序,這時(shí)當(dāng)前的Activity會(huì)失去焦點(diǎn)。在這一階段,會(huì)依次執(zhí)行onPause和onStop方法;Ø Activity重新獲得焦點(diǎn):如果Activity重新獲得焦點(diǎn),會(huì)依次執(zhí)行3個(gè)生命周期方法:onRestart、onStart和onResume;Ø 關(guān)閉Activity:當(dāng)Activity被關(guān)閉時(shí)系統(tǒng)會(huì)依次執(zhí)行3個(gè)生命周期方法:onPause、onStop和onDestroy。Activi

8、ty的生命周期中的7個(gè)方法,分別表示: Ø void onCreate(Bundle savedInstanceState) ,當(dāng)Activity被第一次加載時(shí)執(zhí)行。我們新啟動(dòng)一個(gè)程序的時(shí)候其主窗體的onCreate事件就會(huì)被執(zhí)行。Ø void onStart(),Activity變?yōu)樵谄聊簧蠈?duì)用戶可見(jiàn)時(shí)調(diào)用。onCreate事件之后執(zhí)行。或者當(dāng)前窗體被交換到后臺(tái)后,在用戶重新查看窗體前已經(jīng)過(guò)去了一段時(shí)間,窗體已經(jīng)執(zhí)行了onStop事件,但是窗體和其所在進(jìn)程并沒(méi)有被銷(xiāo)毀,用戶再次重新查看窗體時(shí)會(huì)執(zhí)行onRestart事件,之后會(huì)跳過(guò)onCreate事件,直接執(zhí)行窗體的onS

9、tart事件。 Ø void onResume(),Activity開(kāi)始與用戶交互時(shí)調(diào)用。onStart事件之后執(zhí)行或者當(dāng)前窗體被交換到后臺(tái)后,在用戶重新查看窗體時(shí),窗體還沒(méi)有被銷(xiāo)毀,也沒(méi)有執(zhí)行過(guò)onStop事件,則會(huì)跳過(guò)窗體的onCreate和onStart事件,直接執(zhí)行onResume事件。Ø void onPause(),Activity被暫停時(shí)調(diào)用,該方法用于保存活動(dòng)狀態(tài)的,也是保護(hù)現(xiàn)場(chǎng)。Ø void onStop(),Activity被停止并轉(zhuǎn)為不可見(jiàn)階段及后續(xù)的生命周期事件時(shí)調(diào)用。onPause事件之后執(zhí)行,如果一段時(shí)間內(nèi)用戶還沒(méi)有重新查看該窗體,則該

10、窗體的onStop事件將會(huì)被執(zhí)行;或者用戶直接按了Back鍵,將該窗體從當(dāng)前Task中移除,也會(huì)執(zhí)行該窗體的onStop事件。 Ø void onRestart(),重新啟動(dòng)Activity時(shí)調(diào)用。該活動(dòng)仍在棧中,而不是啟動(dòng)新的活動(dòng),onStop事件執(zhí)行后,如果窗體和其所在的進(jìn)程沒(méi)有被系統(tǒng)銷(xiāo)毀,此時(shí)用戶又重新查看該窗體,則會(huì)執(zhí)行窗體的onRestart事件,onRestart事件后會(huì)跳過(guò)窗體的onCreate事件直接執(zhí)行onStart事件。 Ø void onDestroy(),Activity被完全從系統(tǒng)內(nèi)存中移除時(shí)調(diào)用,該方法被調(diào)用可能是因?yàn)橛腥酥苯诱{(diào)用onFinish

11、()方法或者系統(tǒng)決定停止該活動(dòng)以釋放資源,在窗體的onStop事件之后,如果沒(méi)有再次查看該窗體,Activity則會(huì)被銷(xiāo)毀。這7個(gè)事件回調(diào)方法表示了一個(gè)Activity完整的生命周期,我們可以實(shí)現(xiàn)這些方法來(lái)追蹤Activity的生命周期。【過(guò)程】1、 安裝JAVA JDK下載網(wǎng)址:2、 安裝Eclipse下載網(wǎng)址:直接解壓拷貝。3、 安裝Android 安裝Android的SDK。4、 安裝ADT(Android Development Tools)或5、 建立新項(xiàng)目,實(shí)現(xiàn)Hello World。Open Eclipse.Click the menu File -> New ->

12、Project.Expand the Android folder and select Android Project.Name the project HelloWorld得到的文件結(jié)構(gòu)如下:運(yùn)行:選運(yùn)行的設(shè)備,可以是模擬器,也可以是真機(jī)(如果已經(jīng)連接好真實(shí)手機(jī)的話):真手機(jī)模擬器運(yùn)行結(jié)果:6、 設(shè)置生命周期的Log日志,分別執(zhí)行相關(guān)操作Ø 在MainActivity中復(fù)寫(xiě)onCreate 、onStart、onResume 、onPause 、onStop 、onDestroy 和onRestart;Ø 分別在各個(gè)方法中添加日志監(jiān)視語(yǔ)句,例如:Log.e(“ActivityLife”, "onCreate");Ø 分別執(zhí)行n 打開(kāi)程序,在LogCat的輸出日志中檢查輸出情況,執(zhí)行順序是否為onCreate()、onStart()、onResume();n 按下back鍵,在LogCat的輸出日志中檢查輸出情況,執(zhí)行順序是否為o

溫馨提示

  • 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)論