Android核心元件之活動

2021-10-15 00:19:15 字數 1537 閱讀 5484

以下內容全部或部分**或參考於網路。

這個方法是開啟活動後第乙個執行的事件,當然也是我們必須重寫的乙個方法,其中它大致負責如下的事情:

l  建立檢視

l  初始化變數

l  將靜態變數繫結到列表 

oncreate擁有乙個bundle型別的引數bundle,這個引數至關重要,因為我們知道應用的生命週期不歸自己管,所以就意味隨時可能都會被終止,所以我們就要能夠儲存這中間使用者操作的資料,並在下次開啟後能夠恢復回去,而這裡的bundle引數就是用來將上乙個例項中儲存的資料傳遞進來,從而恢復使用者上次的狀態。2.onstart

onstart將在oncreate後由系統呼叫,該方法一般只有在需要在檢視出現之前執行特地的任務,比如更新檢視中顯示的值。在該方法完畢之後將執行onresume方法。

當活動準備開始與使用者互動時會觸發該方法,一般只會在需要執行以下的操作時才重寫該事件:

l  開始動畫

l  開始監聽gps更新

l  顯示一些相關的提示和對話方塊

l  註冊廣播監聽

onresume非常重要,特別是在觸發onpause後。使用者又切回應用,那麼就需要onresume進行恢復。所以接著就是onpause事件。

當活動被切換到後台時將觸發該方法,一般我們需要在該事件做如下的事情:

l  儲存使用者未提交的資料

l  關閉或清除引用的資源

l  登出廣播

l  如果存在正在顯示的提示或者對話方塊,則必須利用.dismiss()進行清除。

當該活動長時間沒有在顯示給使用者下就會觸發,一般會由以下原因觸發:

l  當乙個新的活動開啟,並覆蓋該活動時

l  乙個已存在的活動切換到前台時

l  活動被銷毀時

onstop不是每次都會被執行,如果記憶體低下時,系統將不會執行該事件,而是直接關閉該應用,所以大家在onpause事件中就要儲存好所以的引數等等。而不能依賴該事件。

該事件是整個活動生命週期中最後乙個,但是很多情況下並不會執行到這個事件,所以很少重寫該方法。

當使用者通過home按鈕將該使用者切換到後台,並在之後又開啟該應用則會觸發該事件。一般也很少重寫該方法。

1. 從乙個活動中啟動另乙個活動

intent intent = new intent(this, typeof(setopenlockactivity));

startactivity(intent);

2. 從fragment中啟動活動

intent intent = new intent(this.activity, typeof(setopenlockactivity));

startactivity(intent);

其中「this.activity 」用於從fragment中獲取activity當前例項。

3. 帶引數啟動活動

詳見「通過intent傳遞引數的方法」一節。

android之活動傳遞資料

1.首先我們要知道乙個類intent,這個類的物件可以用於傳遞和啟動另乙個資料 這個類的基本方法 putextra a b 第乙個引數是傳進去資料的表示符,用於另乙個活動接收資料時的根據,b為我們所要傳遞的資料,我們也可以直接傳乙個包進去,這種方式可以傳遞較為複雜的資料.getintent 這個可以...

Android核心元件之廣播接收器與繫結服務

以下內容 學習了活動與服務後,你會發現服務對於活動而言似乎就是透明的,相反活動對於服務也是透明的,所以我們還需要一中機制能夠將服務和活動之間架起一座橋梁,通過本節的學習,你將會學到廣播與繫結服務,這兩種方式恰恰是解決上面問題的關鍵。實現乙個最簡單的廣播接收器需要繼承broadcastreceiver...

NGUI核心元件之UIAtlas

uiatlas是乙個容器,他包含了許多sprite的座標資訊。如果你對這個概念不是很熟悉,你可以這樣理解 與使用很多小的貼圖來渲染ui相比,使用一張包含了所有小貼圖的大貼圖的效率要高許多。這些小的貼圖就被叫做sprite,這個大的貼圖就被叫做atlas。在使用ngui渲染任何東西之前,首先需要建立乙...