建立第二個Activity

2021-09-07 05:45:13 字數 1747 閱讀 8925

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

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

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

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

intent-filter節點及其子節點都可以同時定義多個,隱式啟動時只需與任意乙個匹配即可

獲取通過setdata傳遞的資料

//獲取啟動此activity的intent物件

intent intent = getintent();

uri uri = intent.getdata();

oncreate–>onstart–>onresume–>onpause–>onstop–>ondestory

onstart–>onresume–>onpause–>onstop

onresume–>onpause

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

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

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

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

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

快捷鍵ctrl+f11

在一些特殊的應用程式常見下,比如遊戲,不希望橫豎屏切換activity被銷毀重新建立

需求:禁用掉橫豎屏切換的生命週期

橫豎屏寫死

android:screenorientation="landscape"

android:screenorientation="portrait"

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

android:configchanges="orientation|screensize|keyboardhidden"

步驟:開啟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獲取返回的資料

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

第二個作業!

作業要求 從鍵盤輸入乙個四位正整數。首先分離出該正整數中的每一位數字,並按逆序顯示輸出各位數字 然後用分離出的每位數字組成乙個最大數和乙個最小數,並顯示輸出。例如,若輸入的四位正整數為3175。按逆序顯示輸出分離出的各位數字為5713 組成的最大數為7531,組成的最小數為1357。具體要求 1 輸...

第二個系統

在進入工作後,參與的第二系統,也剛好是乙個失敗的專案重新再設計的乙個專案。全程參與了設計討論和相關功能模組的實現。到最後證明,這個系統依舊是失敗的。事隔了1年多了,回頭看問題,希望能看明白它。首先,整個團隊太年輕了。不是剛畢業沒多久,就是工作了才一年。其次,需求的失控,不懂得拒絕 因為是進入工作不久...

第二個驅動

上次編譯成功hello world,興奮了好一會,呵呵。之前一直嘗試都沒成功。緣分未到,各種各樣的原因會讓嘗試失敗。用hello.ko練習了一把insmod,lsmod,rmmod,modinfo等命令,這些是使用module的基本命令吧。然後就開始著手開展下一步學習了,有個guide上面說,編譯完...