安卓四大组件之Activity
1.Activity簡(jiǎn)介
它是安卓四大組件之一,用于界面的展示,是最貼切用戶的一個(gè)組件,所以說(shuō)它的操作
都與用戶密切相關(guān),可以通過(guò)setContentView來(lái)顯示制定控件。通常情況下,在一個(gè)安卓應(yīng)用
中,一個(gè)activity就是一個(gè)單獨(dú)的屏幕,它上面可以顯示一些控件也可以監(jiān)聽(tīng)并處理用戶的事件
并作出響應(yīng)。activity直接用intent進(jìn)行通信。
? 2.?Activity簡(jiǎn)單使用
? ? ?A:定義一個(gè)類(lèi)繼承activity
B:在AndroidManifest.xml的<application>節(jié)點(diǎn)中聲明activity
application中l(wèi)able是指程序的名字,在intent——filter中寫(xiě)出的就是APP的名字
C:在清單文件中
name:指定的值為:包名.activity類(lèi)名。
icon:制定應(yīng)用程序的圖標(biāo)
Android.theme:指定主題
3.Activity之間的跳轉(zhuǎn)
A:顯式跳轉(zhuǎn),一般用于自己程序的內(nèi)部。顯式跳轉(zhuǎn)不可以跳轉(zhuǎn)到其他程序的頁(yè)面中。
B:隱式跳轉(zhuǎn),可以跳轉(zhuǎn)到另一個(gè)程序的頁(yè)面中,它不需要引用到那個(gè)類(lèi),只需要知道
那個(gè)界面的動(dòng)作(action)和信息(category)。隱式跳轉(zhuǎn)必須在清單文件中定義<intent-filter>
在intent-filter中至少配置一個(gè)action和category。
intent即意圖,用于描述頁(yè)面的信息,同時(shí)也是一個(gè)數(shù)據(jù)的載體。它可傳遞的數(shù)據(jù)類(lèi)型
String,數(shù)組,javabean,Arraylist<String>.
##打開(kāi)瀏覽器的案例
4:Activity的生命周期
oncreate——onstart——onrestart——onresume——onpause——onstop——ondestroy
5:橫豎屏切換問(wèn)題
一般手機(jī)橫豎屏切換的時(shí)候,會(huì)先把a(bǔ)ctivity銷(xiāo)毀在創(chuàng)建,這樣做用戶體驗(yàn)會(huì)非常的差,
不讓手機(jī)在橫豎屏切換時(shí)銷(xiāo)毀,我們可以在清單文件聲明。
6:Activity的啟動(dòng)模式
A:standard模式是默認(rèn)的啟動(dòng)模式,不用為activity配置Android.launchMod屬性即可。
它不管有沒(méi)有已存在的實(shí)例,都生成新的實(shí)例。每次條用startactivity都會(huì)創(chuàng)建一個(gè)新的activity
放在棧頂
B:singleTop啟動(dòng)模式,需要在activity配置Android.launchMod=singletop屬性。如果
發(fā)現(xiàn)有對(duì)應(yīng)的activity實(shí)例正位于棧頂,則重復(fù)利用不在生成新的實(shí)例。不在棧頂那么才創(chuàng)建。
C: singleTask啟動(dòng)模式,只能存在一個(gè)實(shí)例,其他實(shí)例都會(huì)統(tǒng)統(tǒng)出棧。
需要activity配置Android.launchMod=singleTask
D: singleInstance啟動(dòng)模式,開(kāi)啟新的任務(wù)棧,并且只有一個(gè)界面存在,是自己變?yōu)?/span>
棧頂,即使應(yīng)用程序已經(jīng)存在任務(wù)棧,也會(huì)新建不會(huì)和同應(yīng)用程序其他頁(yè)面共享任務(wù)棧。
總結(jié)
以上是生活随笔為你收集整理的安卓四大组件之Activity的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 浅谈安卓线程池相关问题
- 下一篇: intent和intentfilter