頁面跳轉與資料傳遞

2022-05-29 11:18:10 字數 2379 閱讀 1607

#建立第二個activity

#activity的跳轉

activity的跳轉需要建立intent物件,通過設定intent物件的引數指定要跳轉activity

通過設定activity的包名和類名實現跳轉,稱為顯式意圖

通過指定動作實現跳轉,稱為隱式意圖 ###顯式意圖

###隱式意圖

隱式意圖啟動activity,需要為intent設定以上三個屬性,且值必須與該activity在清單檔案中對三個屬性的定義匹配

intent-filter節點及其子節點都可以同時定義多個,隱式啟動時只需與任意乙個匹配即可 #####獲取通過setdata傳遞的資料

//獲取啟動此activity的intent物件intent intent = getintent();

uri uri = intent.getdata();

###顯式意圖和隱式意圖的應用場景

#activity跳轉時的資料傳遞

#activity生命週期

###void oncreate()

###void onstart()

###void onresume()

###void onpause()

###void onstop()

###void ondestroy()

###void onrestart()

###使用場景

###完整生命週期(entire lifetime)

oncreate-->onstart-->onresume-->onpause-->onstop-->ondestory

###可視生命週期(visible lifetime)

onstart-->onresume-->onpause-->onstop

###前台生命週期(foreground lifetime)

onresume-->onpause

#activity的四種啟動模式

每個應用會有乙個activity任務棧,存放已啟動的activity

activity的啟動模式,修改任務棧的排列情況

singetask 單一任務棧,在當前任務棧裡面只能有乙個例項存在

singleinstance啟動模式非常特殊, activity會執行在自己的任務棧裡面,並且這個任務棧裡面只有乙個例項存在

##橫豎屏切換的生命週期

預設情況下 ,橫豎屏切換, 銷毀當前的activity,重新建立乙個新的activity

快捷鍵ctrl+f11

在一些特殊的應用程式常見下,比如遊戲,不希望橫豎屏切換activity被銷毀重新建立 需求:禁用掉橫豎屏切換的生命週期

橫豎屏寫死android:screenorientation="landscape" android:screenorientation="portrait"

讓系統的環境 不再去敏感橫豎屏的切換。

android:configchanges="orientation|screensize|keyboardhidden"

#掌握開啟activity獲取返回值

###從a介面開啟b介面, b介面關閉的時候,返回乙個資料給a介面

步驟:開啟activity並且獲取返回值

startactivityforresult(intent, 0);

在新開啟的介面裡面實現設定資料的邏輯

intent data = new intent();

data.putextra("phone", phone);

//設定乙個結果資料,資料會返回給呼叫者setresult(0, data);

finish();//關閉掉當前的activity,才會返回資料

在開啟者activity裡面實現方法onactivityresult(int requestcode, int resultcode, intent data)通過data獲取返回的資料

根據請求碼和結果碼確定業務邏輯

Android 頁面跳轉和資料傳遞

activity的跳轉需要建立intent物件,通過設定intent物件的引數指定要跳轉activity 通過設定activity的包名和類名實現跳轉,稱為顯式意圖 通過指定動作實現跳轉,稱為隱式意圖 隱式意圖啟動activity,需要為intent設定以上三個屬性,且值必須與該activity在清...

關於頁面跳轉和資料傳遞 未完待續

oncreate activity被建立的時候呼叫 onstart activity能被使用者看見,但是沒有獲得焦點 onresume activity獲得焦點,此時 activity稱為前台 activity onpause activity失去焦點,但是依然可見 onstop activity不...

頁面間資料傳遞 通知

很簡單的兩句話 傳送通知 nsnotificationcenter defaultcenter postnotificationname object 接受通知 1.先註冊 nsnotificationcenter defaultcenter addobserver self selector se...