安卓第十趴
目錄
1. 什么是Activity?
2. Activity如何創建使用?
3.Activity的生命周期的幾個方法:
4. 什么是Intent?
5.Intent實現頁面之間跳轉的兩種方式:
1. 什么是Activity?
????Activity是個應用程序組件,提供用戶與程序交互的界面。
? ? Android四大組件:
(1)Activity
(2)Service
(3)BroadcastReceiver
(4)ContentProvider
2. Activity如何創建使用?
????(1)繼承Android的Activity類;
????(2)重寫方法
????(3)設置顯示布局
????(4)在AndroidManifest文件中,注冊Activity
3.Activity的生命周期的幾個方法:
????onCreate();創建
????onStart();運行
????onResume();獲取焦點
????onPause();失去焦點
????onStop();暫停
????onDestroy();銷毀
????onRestart();
4. 什么是Intent?
????由Intent來協助完成Android各個組件之間的通訊。上面我們說到了安卓的四大組件,這四大組件就是有Intent進行連接的。
5.Intent實現頁面之間跳轉的兩種方式:
(1)startActivity(intent)無返回結果的頁面跳轉
(2)startActivityForResult(intent,requestCode)有返回結果的頁面跳轉。這個方式要關聯兩個方法:
onActivityResult(int requestCode,int resultCode,Intent data)和setResult(resultCode,data);
?
我們先來看第一種:
看一下效果吧:
視頻地址:https://v.qq.com/x/page/e1322ncmg28.html
12
首先我們創建了兩個Activity
然后在每個Activity的布局文件中添加了些東西:
第一個是:
代碼也很簡單:
因為我們要實現第一種方式,所以就是實現第一個按鈕。我們想通過Intent將頁面跳轉到第二個Activity,所以第一個Activity是我們程序的入口,相當于c語言中的主函數,我們在
中進行設置:
紅框就是入口的設置。
那既然第一個Activity已經設置了入口,下面的Activity就不應該在設置入口了,不能有兩個主函數,一樣的道理。
接下來就通過Intent實現頁面的跳轉:
這是兩行關鍵語句,Intent括號內的內容,第一個參數是上下文,我們這里就用的是this。要注意的是,因為我們的監聽方式使用的是匿名內部類監聽,所以只寫this不行,監聽不到我們這個Activity,那么我們可以將類的名稱使用上,使用方法如上。第二個參數是要跳轉的那個class名稱。
?
接著我們看第二種方式:
先看一下效果吧:
視頻地址https://v.qq.com/x/page/n1322mt6tt9.html
13
也就是startActivityForResult方式,這個方式中我們還要涉及兩種方法,畢竟是你來我往的過程。
這里的startActivityForResult方法括號的第一個參數代表的是我們需要執行的方式,也就是Intent對象,第二個參數是請求的一個標識。相當于標頁碼。
既然我們是要有返回結果的頁面跳轉,我們當然得在第一個頁面進行接收:
就是這個方法。第一個參數就是我們上面說的要求的標識,也就是數據在哪一頁接收;第二個參數值得是哪一頁的數據被接收;第三個參數就是接收的數據內容。那么被接收數據的(第二個參數)這一頁怎么設置標識?
在這個Activity中。
我們想讓在第一個TextView中顯示“good night”內容,首先聲明一個字符串:
然后我們在點擊方法中進行相關設置:
綠色框框中的內容含義是:將字符串放置到data中,等會傳輸。
紅色框框指的是設置被傳遞數據的頁面的頁數。這里設置的是2。
紫色框框不可少,這個相當于我們將第二個頁面隱去或者消去。因為本身多個Activity之間就是覆蓋與被覆蓋的關系,隱去了,之前被覆蓋的就顯露出來了。
?
那什么時候第二個頁面進行回傳呢?當我們點擊按鈕的時候。那么我們在第一個頁面中就要接收到回傳的信息:
先設置個全局變量:
然后進行設置:
紫框框表示的就是,當頁面一有請求而且頁面二有反饋的時候進行數據的傳輸和接收。
?
這樣就實現了頁面的跳轉。
END
由于CSDN排版限制,很多標記不方便表示,詳情可關注GZH:疼疼癢癢小家園
原創不易,請多多關注與支持~
總結
- 上一篇: 安卓第九趴
- 下一篇: 凸集 凸函数 凸优化