Android是一個(gè)基于Linux、使用java作為程序接口的操作系統。他提供了一些工具,比如編譯器、調試器、還有他自己的仿真器(DVM — Dalvik Virtual Machine)。Android是由google領(lǐng)導的Open Handset Alliance開(kāi)發(fā)的。
在安卓的開(kāi)發(fā)過(guò)程中,對其組件要熟悉掌握。今天就隨app軟件開(kāi)發(fā)小編來(lái)了解下其中的Activity組件。
Activity中所有操作都與用戶(hù)密切相關(guān),是一個(gè)負責與用戶(hù)交互的組件,可以通過(guò)setContentView(View)來(lái)顯示指定控件。
在一個(gè)android應用中,一個(gè)Activity通常就是一個(gè)單獨的屏幕,它上面可以顯示一些控件也可以監聽(tīng)并處理用戶(hù)的事件做出響應。Activity之間通過(guò)Intent進(jìn)行通信。
Activity:代表了Android程序的展現層,比如用戶(hù)看到的界面。一個(gè)Android程序會(huì )有一些個(gè)Activities,在程序運行過(guò)程中也會(huì )切換。Views:一個(gè)Activities的用戶(hù)界面是繼承自android.view.View。views的布局通過(guò)android.view.ViewGroups來(lái)管理。Services:不需要UI展現的后臺任務(wù)??梢酝ㄟ^(guò)android的提醒框架給用戶(hù)提示。Content Provider:為程序提供數據,通過(guò)Content Provider你的程序可以與別的程序共享數據。Android的SQLite數據庫可以看做一個(gè)Content Provider。Intents:是一個(gè)異步的消息系統,可以從別的系統或服務(wù)獲取數據。程序可以直接調用一個(gè)服務(wù)或者activity,也可以請求android系統。Broadcast Receiver:接受系統消息或者隱含的intent,可以根據系統的改變做出反應。一個(gè)程序可以注冊成為某些事件的Broadcast Receiver,當事件發(fā)生時(shí),程序就執行。
1. 整個(gè)的生命周期,從onCreate(Bundle)開(kāi)始到onDestroy()結束。Activity在onCreate()設置所有的“全局”狀態(tài),在onDestory()釋放所有的資源。例如:某個(gè)Activity有一個(gè)在后臺運行的線(xiàn)程,用于從網(wǎng)絡(luò )下載數據,則該Activity可以在onCreate()中創(chuàng )建線(xiàn)程,在onDestory()中停止線(xiàn)程。
2. 可見(jiàn)的生命周期,從on_start()開(kāi)始到on_stop()結束。在這段時(shí)間,可以看到Activity在屏幕上,盡管有可能不在前臺,不能和用戶(hù)交互。在這兩個(gè)接口之間,需要保持顯示給用戶(hù)的UI數據和資源等,例如:可以在on_start中注冊一個(gè)IntentReceiver來(lái)監聽(tīng)數據變化導致UI的變動(dòng),當不再需要顯示時(shí)候,可以在on_stop()中注銷(xiāo)它。on_start(),on_stop()都可以被多次調用,因為Activity隨時(shí)可以在可見(jiàn)和隱藏之間轉換。
3. 前臺的生命周期,從onResume()開(kāi)始到onPause()結束。在這段時(shí)間里,該Activity處于所有 Activity的最前面,和用戶(hù)進(jìn)行交互。Activity可以經(jīng)常性地在resumed和paused狀態(tài)之間切換,例如:當設備準備休眠時(shí),當一個(gè) Activity處理結果被分發(fā)時(shí),當一個(gè)新的Intent被分發(fā)時(shí)。所以在這些接口方法中的代碼應該屬于非常輕量級的。