什么是Intent ?
Intent是一種運(yùn)行時(shí)綁定(runtime binding)機(jī)制,它能在程序運(yùn)行的過(guò)程中連接兩個(gè)不同的組件。通過(guò)Intent,你的程序可以向Android表達(dá)某種請(qǐng)求或者意愿,Android會(huì)根據(jù)意愿的內(nèi)容選擇適當(dāng)?shù)慕M件來(lái)響應(yīng)。我們暫時(shí)可以把它理解為是一個(gè)請(qǐng)求。
詳細(xì)解釋可以看上一章《什么是Intent》
Intent對(duì)象包含了一下一些信息:
Component Name(組件名)
Action(行為)
Data(數(shù)據(jù))
Category(類(lèi)別)
Extras(額外)
Flags(標(biāo)記)
我們就用一個(gè)例子來(lái)看看Intent對(duì)象是如何使用。
目標(biāo):通過(guò)給第一個(gè)頁(yè)面寫(xiě)的值,傳遞到第二個(gè)頁(yè)面,然后顯示,最后點(diǎn)擊菜單,執(zhí)行退出操作。
至于如何建立Activity,詳細(xì)可以看上一章《手動(dòng)創(chuàng)建Acitvity》。這里我們就直接看代碼了。
我們主要來(lái)看一下,點(diǎn)擊button是如何觸發(fā)事件的。
這里使用了內(nèi)部類(lèi)。實(shí)現(xiàn)了onClick函數(shù)。執(zhí)行的操作可以看圖,注釋已經(jīng)很清楚。
來(lái)看一下內(nèi)部類(lèi)的作用:
1.擁有外圍類(lèi)的所有元素的訪問(wèn)權(quán)限。
2.可以實(shí)現(xiàn)多重繼承
下來(lái)看看第二個(gè)界面是如何接收值的。第二個(gè)類(lèi)ActivityOther.java
我們可以看到getIntent(),這個(gè)方法是可以得到當(dāng)前的Intent對(duì)象的。根據(jù)得到的這個(gè)對(duì)象我們可以來(lái)它傳遞過(guò)來(lái)的值。
基本流程就是這樣,在來(lái)看看,菜單是如何實(shí)現(xiàn)的。
如果要?jiǎng)?chuàng)建菜單要重寫(xiě)這個(gè)onCreateOptionsMenu方法,來(lái)給他添加Meun項(xiàng)。
當(dāng)然,添加的Meun是沒(méi)有任何事件的,這時(shí)候就要再重寫(xiě)onOptionsItemSelected方法。item.getItemId(),根據(jù)ID判斷用戶(hù)點(diǎn)擊的哪一個(gè)菜單項(xiàng),然后執(zhí)行我們要執(zhí)行的操作。
這是跳轉(zhuǎn)的第二個(gè)頁(yè)面。
OK。今天就到這里,繼續(xù)努力,頑張る
聯(lián)系客服