Android四大元件簡述之Activit

2021-06-20 21:05:18 字數 3110 閱讀 7551

1

2

今天起,在工作之餘記錄下一年以來android所學,雖然都是基礎知識,但是整理出來也是非常重要。

activity作為android最重要的元件之一,也是初學者第乙個會接觸到的。

這是一張廣為流傳的activity生命週期圖。

在 android 中,activity 擁有四種基本狀態:

active/runing乙個新 activity 啟動入棧後,它在螢幕最前端,處於棧的最頂端,此時它處於可見並可和使用者互動的啟用狀態。

paused當 activity 被另乙個透明或者 dialog 樣式的 activity 覆蓋時的狀態。此時它依然與視窗管理器保持連線,系統繼續維護其內部狀態,所以它仍然可見,但它已經失去了焦點故不可與使用者互動。

stoped當 activity 被另外乙個 activity 覆蓋、失去焦點並不可見時處於 stoped狀態。

killedactivity 被系統殺死**或者沒有被啟動時處於 killed狀態。

在建立乙個activity並啟動,生命從**oncreate()-->onstart()-->onresume()**,狀態處於active/runing。

乙個activity的oncreate()方法在整個生命週期只會被呼叫一次,除非在這個activity因為自身或其他原因被銷毀掉。

1、android手機有home鍵和返回鍵。在按下home鍵之後,當前應用會退回到桌面。此時生命週期執行過程是**onpause()-->onstop();** activity處於stoped狀態。

2、若返回鍵功能沒有被重寫,在按下返回鍵之後,當前activity會退出,執行生命週期**onpause()-->onstop()-->ondestroy()**;activity處於killed狀態,當前activity已經被銷毀。

3、若從activity1跳轉到activity2,那麼只會執行onpause()-->onstop();前乙個activity被存在棧中,處於stoped狀態。

4、什麼時候會處於paused狀態呢,activity在完全看不到的狀態下,會處於stoped狀態,如1、3。

但是activity在某個activity下,但是沒有被完全擋住時,只會執行onpause(),處於paused狀態,這種情況發生在情況3中activity是以dialog形式跳轉的時候。

5、activity恢復過程,onpause()是直接恢復到onresume(),onstop()狀態是恢復到onstart(),然後執行onresume()。activity處於running狀態。

1

2 34 5

6 78 9

1011

1213

1415

1617

1819

2021

2223

2425

2627

2829

3031

3233

3435

3637

3839

4041

4243

4445

4647

4849

5051

5253

5455

5657

5859

6061

6263

6465

6667

6869

7071

7273

7475

package

com.

example

.activitylifetest

;import

android.os.bundle

;import

;import

android.content.intent

;import

android.util.log

;import

android.view.keyevent

;import

android.view.menu

;import

android.view.view

;public

class

androidlifetest

extends

activity

@override

protected

void

onstart

()@override

protected

void

onresume

()@override

protected

void

onpause

()@override

protected

void

onstop

()@override

protected

void

ondestroy

()public

void

onclick

(viewv)

private

void

slog

(string

str)

@override

public

boolean

onkeydown

(int

keycode

,keyevent

event

)return

super

.onkeydown

(keycode

,event);}

}

activity2在mainifest.xml裡面這樣宣告

1

android:name=

".activity2"

android:theme=

"@android:style/theme.dialog"

>

第一次啟動activity

按下home鍵再進入,按下返回鍵再進入。

跳轉到activity2並返回

android 四大元件

1.activity 2.service 3.contentprovider 應用中的資料,對外進行共享,其它應用可以通過內容提供者,可以訪問到你應用中的資料,對資料進行增刪改查 1 對不同的資料格式,統一了檔案格式和資料訪問api 2 內容提供者要繼承contentprovider類 3 在清單檔...

Android 四大元件

activity intent receiver service content provider 並不是每乙個android應用程式都需要這四種構造塊,這不是必須的。當我們明確了我們的應用需要哪些構造塊後,我們就需要在androidmanifest.xml中登記這些構造塊的清單。這個配置檔案用於定...

android四大元件

android 四大元件 1.contentprovider contentprovider是什麼 android中的乙個應用元件 作為乙個引用元件的表現是生命週期方法 android中內容提供者 一般是內部儲存中的資料 contentprovider 物件的應用場合 例如 3.contentpri...