一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

android Activity類的使用

 昵稱2626715 2010-11-22

android Activity類的使用

在android開發(fā)中Activity非常重要,在一個應(yīng)用中,每一個顯示的屏幕都是一個Activity.所以學(xué)習(xí)android,必須要對Activity有一定的了解.在其他論壇中也有一些關(guān)于Activity的介紹,我在這里就想談?wù)勎覍ctivity學(xué)習(xí)的一些看法.首先Activity的生命周期很重要,Activity主要包含六個方法,分別是onCreate,onStart,onResume,onPause,onStop,onDestory.

onCreate和onDestory對應(yīng).onStart和onStop對應(yīng),onResume和onPause對應(yīng).

這幾個函數(shù)大概是這樣定義的,當(dāng)啟動一個Activity的時候,onCreate方法首先會被啟動,然后接著是onStart和onResume,也會啟動,一般地,等這幾個函數(shù)都啟動完了之后你這個Activity就可以被顯示出來了.當(dāng)然我這里說的是一般的情況,如果你要是在這三個函數(shù)初始化的時候啟動了一個后臺的Service,那么還要等待ServiceConnection執(zhí)行完畢才能夠被顯示出來,這里可能有人要問什么是Service了,在以后我會介紹它,這里大家就先了解下Service的回調(diào)函數(shù)也會影響Acitivity的啟動就可以了.這是Activity啟動時會調(diào)用的三個函數(shù),在Acitivity銷毀的時候會調(diào)用onPause,onStop,onDestory.當(dāng)調(diào)用完onDestory之后,你的Acitivity也就被銷毀完畢了,這時候你在調(diào)用Activity的isFinishing的時候,就會返回true,但是此時Activity的this指針還可以被使用,如果你在Activity單起一個線程做其他事情的話,那么上下文變量context指針還是能夠被使用的.

     當(dāng)然Activity有可能還處于其他狀態(tài),不一定就是被顯示或者被銷毀,很有可能這個Activity啟動了另一個Activity,這個時候前先的那個Activiy就會被放到系統(tǒng)的堆棧中,等被啟動的Activity返回的時候,它又重新被顯示出來,這個流程是這樣的,一個Activity啟動了另外的一個Activity,那么它就會調(diào)用onPause函數(shù),進入一種停滯的狀態(tài),然后被啟動的Activity被銷毀返回后,又會調(diào)用onResume函數(shù).對于Activity的這種機制,我感覺在初始化的工作最好放到一個自己定義的一個接口中,因為由于Activity狀態(tài)的改變,你的Activity的Layout就有可能會被改變.說到這里就要談一下什么叫做Layout,每個Activity的界面的布局就是一個Layout,每個Activity都要有這樣一個布局它才能夠被顯示出來,一般地,我們都會把一個Layout放到一個XML文件當(dāng)中,然后直接調(diào)用Activity的setContentView函數(shù)來填充這個Activity,如果Layout不放在xml文件中,也可以用代碼生成一個動態(tài)的Layout,也就是說用Activity.this指針生成一個Layout.這個給大家推薦一個非常好用的工具叫做droiddraw,論壇里就有鏈接,站長好像發(fā)過貼.這個工具非常好用,不用看教程半小時就能學(xué)會,上面有一些特定的控件,把控件擺好布局后直接能生成xml文件.把這個xml文件放到項目的res/layout文件夾下面就可以了.生成好Layout文件后,你就要為你程序要用到的一些控件設(shè)定ID,具體怎么設(shè)定大家可以在google的android主頁里有,叫g(shù)ettingstarted,那個寫得很明白,我就不跟這里重述了.接下來還是談下android的這幾個主要的函數(shù),我還有些建議就是在onCreate函數(shù)中盡量少寫代碼,把盡肯能多的東西放到onResume和那個自定義的初始化函數(shù)里去寫,onResume這個函數(shù)被調(diào)用的幾率是非常高的,這里大家在模擬器上開發(fā)可能沒有感覺到onResume的重要性,在真機上測試就會發(fā)現(xiàn),當(dāng)屏幕變黑進入等待狀態(tài),然后你手動恢復(fù)屏幕變亮?xí)r也會進入onResume狀態(tài),所以我感覺把一些刷新控件的方法放到onResume函數(shù)中來做還是非常必要的.onPause,onStop,還有onDestroy函數(shù)都是用來做一些清理工作的,比如說一些變量要被釋放,一些線程要被停滯等等都可以放到這里來做.

下面我來總結(jié)一下Activity一個大概的設(shè)計思路:

首先設(shè)計一個方法,這個方法主要作用就是初始化Activity的控件,進行各種條件判斷,對Acitvity來進行不用的布局初始化,這里舉個例子來解釋下為什么要初始化不同的布局,例如你的這個Activity從SD卡讀取了一些信息,那么當(dāng)你拔出SD卡的時候這些信息肯定也就沒有了,那么你就要進行另外的一個布局來顯示這個Activity,這個時候你就可以重用這個函數(shù)來進行布局的初始化.

onCreate函數(shù):注冊你要用到的變量,比如說service,receiver,這些變量是無論你的Activity是在前臺還是在后臺都能夠被響應(yīng)到的,然后調(diào)用上面那個用來初始化的函數(shù)初始化布局信息.

onStart函數(shù):注冊一些變量.這些變量必須在Activity在前臺的時候才能夠被響應(yīng).

onResume函數(shù):調(diào)用一些刷新UI的函數(shù),每當(dāng)Activity調(diào)用到這里時就要刷新一下UI各控件的狀態(tài).

onPause函數(shù):一般是做一些變量的設(shè)置,因為這個時候Activity馬上就要切到后臺處理,可能有些變量就要被釋放掉或者狀態(tài)要做些相應(yīng)的調(diào)整.

onStop函數(shù):反注冊在onStart函數(shù)中注冊的變量.

onDestory函數(shù):反注冊在onCreate函數(shù)中注冊的變量.

上面談了些Activity的最常用的一些方法,當(dāng)然還有很多方法沒有談到,有很多方法我也沒有用過,其他方法大家可以參考google的文檔.

接下來我來談?wù)凙ctivity中最簡單的一些通信方法,這里我先定義兩個名字為方便接下來的敘述,啟動另外一個Activity的那個Activity我們稱之為主Activity,被啟動的那個Activity我們稱之為子Activity.

主Activity和子Acitivity通信的方式有很多種這里介紹兩種最簡單的方法。

方法一:通過Intent來進行參數(shù)的傳遞,在Intent中有各種putXXX方法來存放各種參數(shù),然后在子Activity接收到這個Intent時能夠從這個Intent里取出這個參數(shù),利用getIntnet().getXXXExtra()方法就可以了.

方法二:當(dāng)一個主Activity想從一個子Activity接受消息時可以使用StartActivityforResult方法,例如這樣啟動一個Activity,startActivityForResult(i, REQUEST_CODE); 然后在主Activity中的onActivityResult方法對requestCode進行判斷來對子Activity不同的返回處理不同的情況,另外子Activity也可以利用setResult方法來設(shè)置主Activity方法中的resultCode,這樣主Activity也可以根據(jù)子Activity的不同的resultCode來處理不同的情況.

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日本婷婷色大香蕉视频在线观看| 色一欲一性一乱—区二区三区| 大香蕉再在线大香蕉再在线| 精品久久综合日本欧美| 日本精品啪啪一区二区三区| 午夜国产福利在线播放| 日本中文在线不卡视频| 果冻传媒在线观看免费高清| 久热人妻中文字幕一区二区| 九九九热视频免费观看| 天堂网中文字幕在线视频| 少妇人妻一级片一区二区三区| 精品亚洲香蕉久久综合网| 亚洲欧美日韩中文字幕二欧美| 国产一级一片内射视频在线| 久久精品国产亚洲熟女| 亚洲一区二区欧美激情| 四十女人口红哪个色好看| 亚洲国产精品久久琪琪| 日韩在线精品视频观看| 国产成人精品国产成人亚洲| 久久精品蜜桃一区二区av| 欧美老太太性生活大片| 欧美乱妇日本乱码特黄大片| 深夜视频在线观看免费你懂| 中文字幕五月婷婷免费| 欧美日韩精品综合在线| 欧美黑人黄色一区二区| 亚洲专区中文字幕在线| 亚洲男女性生活免费视频| 午夜福利黄片免费观看| 国产级别精品一区二区视频| 中文字幕日韩一区二区不卡| 亚洲中文字幕熟女丝袜久久| 日韩精品福利在线观看| 国产精品第一香蕉视频| 国产成人亚洲精品青草天美| 日本人妻精品有码字幕| 国产精品欧美在线观看| 91福利视频日本免费看看| 日本不卡在线视频中文国产|