真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

AndroidIntent詳解-創(chuàng)新互聯(lián)

(一)概念:Intent簡(jiǎn)單來說就是啟動(dòng)或切換Activity, Service或Broadcast三大組件的。Intent使應(yīng)用程序代碼在運(yùn)行時(shí)動(dòng)態(tài)綁定成為可能,大大降低了不同代碼之間的耦合性。Intent最常用的方法是用來啟動(dòng)一個(gè)Activity。Intent封裝了一系列他要執(zhí)行的動(dòng)作屬性,常見的有Action,Data,Type, Category, Extras。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供南沙網(wǎng)站建設(shè)、南沙做網(wǎng)站、南沙網(wǎng)站設(shè)計(jì)、南沙網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、南沙企業(yè)網(wǎng)站模板建站服務(wù),十余年南沙做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

    a: Action, Action屬性要完成的只是一個(gè)抽象的動(dòng)作,這個(gè)動(dòng)作具體由哪個(gè)組件(Activity或BroadcaseReceiver)來完成,Action這個(gè)屬性本身并不管。比如:Android提供的標(biāo)準(zhǔn)Action:Intent.ACTION_VIEW,他只表示一個(gè)抽象的查看操作,但具體查看什么,啟動(dòng)哪個(gè)Activity他并不知道,這取決于Activity的配置,只要Activity的配置中包含了ACTION_VIEW他就有可能被啟動(dòng), 可以調(diào)用Intent的setAction()方法為Intent設(shè)置Action屬性的值。

    b: Data/Type, Dta屬性是用于向Action屬性提供操作的數(shù)據(jù),Data屬性接收一個(gè)Uri對(duì)象,一個(gè)Uri對(duì)象通常通過如下形式的字符串來表示:

content://com.android.contacts/contacts/1
tel:123

    而Uri字符串總是滿足如下的格式

scheme://host:port/path

     Type屬性是用于指定Data屬性向Action提供的數(shù)據(jù)的格式,即指定該Data屬性所指定的Uri所對(duì)應(yīng)的MIME類型,這種MIME類型可以是任意自定義的MIME類型,只要符合abc/xyz格式的字符串即可。

    Data屬性與Type屬性的關(guān)系比較微妙,這兩個(gè)屬性會(huì)互相覆蓋,比如:

-->如果為Intent先設(shè)置Data屬性后設(shè)置Type屬性,那么Data屬性將會(huì)被Type屬性所覆蓋。
-->如果為Intent先設(shè)置Type屬性后設(shè)置Data屬性,那么Type屬性則會(huì)被Data屬性所覆蓋。
-->要希望二者都同時(shí)存在,則應(yīng)該調(diào)用Intent的setDataAndType()方法。

  c: Extra,Extra屬性相信您應(yīng)該使用過許多遍了,他用于用于在多個(gè)Action之間進(jìn)行數(shù)據(jù)的交換(Activity切換時(shí)的數(shù)據(jù)傳遞intent.putExtra(...)),該屬性值應(yīng)該是一個(gè)Bundle對(duì)象,Bundle對(duì)象類似于一個(gè)Map對(duì)象可以存入多個(gè)key-value鍵值對(duì)。

    d: Category,  Category屬性是用于向Intent提供附加信息的屬性,可以是任意的字符串,如果一個(gè)Activity中同時(shí)設(shè)置了Action與Category那么,只有當(dāng)二者同時(shí)滿足Activity才會(huì)被響應(yīng),可通過Intent的addCategory()方法來設(shè)置。

    說明:一個(gè)Intent對(duì)象只可以有一個(gè)Action但可以設(shè)置多個(gè)Category屬性,如果不指定Category屬性,系統(tǒng)會(huì)默認(rèn)初始化一個(gè)Category屬性,其值為Intent.CATEGORY.DEFAULT常亮(常亮值為android.intent.category.DEFAULT組件)

  (二)顯式Intent與隱式Intent。

    • 顯式Intent通過指定Intent組件名稱來實(shí)現(xiàn)的,一般使用在知道目標(biāo)組件名稱的前提下,指定需要轉(zhuǎn)向到的Activity,明確指定了要激活的組件,一般使用在應(yīng)用程序內(nèi)部。

    • 隱式Intent:通過Intent Filter來實(shí)現(xiàn)的,它一般用在沒有明確指出目標(biāo)組件名稱的前提下。Android系統(tǒng)會(huì)根據(jù)隱式意圖中設(shè)置的動(dòng)作(action)、類別(category)、數(shù)據(jù)(URI和數(shù)據(jù)類型)找到最合適的組件來處理這個(gè)意圖。一般是用于在不同應(yīng)用程序之間

    對(duì)比:顯式Intent效率更高,因?yàn)橄到y(tǒng)可以直接精準(zhǔn)的定位到需要激活的組件,缺點(diǎn)是耦合度高,例如:通過這種方法調(diào)用一些系統(tǒng)組件,很容易因?yàn)榘姹镜母?,包名,類名,包結(jié)構(gòu)的變化而導(dǎo)致程序崩潰;隱式Intent相對(duì)于效率較底下,因?yàn)槊看我鈭D執(zhí)行的時(shí)候系統(tǒng)都會(huì)搜索所有的intentfilter,來查看是否有匹配的內(nèi)容,所以效率更底下。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


網(wǎng)頁名稱:AndroidIntent詳解-創(chuàng)新互聯(lián)
文章URL:http://weahome.cn/article/dshghj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部