国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Android HybridApp開發(fā)——自定義Schema的URI應(yīng)用

haobowd / 1874人閱讀

摘要:今天只記錄小的簡單的東西,因?yàn)橐X了。具體使用請以自身需求為準(zhǔn)。那么組裝的時候,可以指定包名,然后指定名,然后增加傳遞的數(shù)據(jù)和。這樣就很好的把一個跳轉(zhuǎn)到某個應(yīng)用某個頁面的的行為用指定出來。方便應(yīng)用和應(yīng)用之間相互跳轉(zhuǎn)。

今天只記錄小的簡單的東西,因?yàn)橐X了。

如果你想做一個Hybrid應(yīng)用,也許有多種方式,也許使用PhoneGap,也許只使用WebView,也許在Native的某個頁面嵌入一部分的WebView。

具體使用請以自身需求為準(zhǔn)。那么今天說說最最輕量的一個方案:我們有這么個需求,有的頁面需要使用 Native,有的頁面需要使用WebView,同時,Native改變可能比較小,WebView的內(nèi)容改動是很多的,因?yàn)閃ebView中呈現(xiàn)的內(nèi)容在服務(wù)器端,因此它的好處就是不需要升級軟件而直接為用戶提供新功能。

那么基于這么一種業(yè)務(wù)需求,我們想到的其中一個辦法就是使用自定義的Schema,使用一個統(tǒng)一的Schema管理器管理,對于不同的Schema我們利用Intent的一些特性,跳到我們所需要的Activity里,呈現(xiàn)我們所需要的內(nèi)容即可。

那么我們這里用到了一個很小的組件類就是java.net.URI 這個組件,想必看見這個類必然會想到j(luò)ava.net.URL類吧。URI全稱是Uniform Resource Identifier(通用資源標(biāo)識符),URL這個類是Uniform Resource Locator(統(tǒng)一資源定位符)(摘自百度百科)。很多人可能混淆兩個概念,其實(shí)只要只要URL是URI的子集即可,也就是說,相對來講,URI的定義會更廣泛抽象一些。

引用一個我們自定義Schema的一個URI例子

  

lwy://cn.com.zjseek.lwy/news?id=2&path=3

這里Schema,Location,Path,Query等都俱全了,那么有什么用呢?
Location可以指定一個包名,我們用java.net.URI對象的構(gòu)造函數(shù)生成后,用getHost方法能獲取到它的“主機(jī)”

URI uri = new URI("lwy://cn.com.zjseek.lwy/news?id=2&path=3");
System.out.println(uri.getScheme()); // lwy
System.out.println(uri.getHost());  // cn.com.zjseek.lwy
System.out.println(uri.getPath());  // /news
System.out.println(uri.getQuery()); // id=2&path=3

運(yùn)行這段代碼能得到每一部分的結(jié)果。
那么組裝Intent的時候,可以指定包名(Host),然后指定Action名(path),然后增加傳遞的數(shù)據(jù)和Fragment(Query)。
這樣就很好的把一個跳轉(zhuǎn)到某個應(yīng)用某個頁面的的行為用URI指定出來。方便應(yīng)用和應(yīng)用之間相互跳轉(zhuǎn)。

Intent intent = new Intent();
intent.setPackage(uri.getHost());
intent.setAction(uri.getPath());
...

這樣的URI也非常適合在WebView中用標(biāo)簽進(jìn)行跳轉(zhuǎn),最終方便了我們進(jìn)行HybridApp的開發(fā)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/85311.html

相關(guān)文章

  • android hybird 實(shí)現(xiàn):定義schema

    摘要:若用實(shí)現(xiàn),則體驗(yàn)上會相差不少。至此,因?yàn)楸疚闹械闹攸c(diǎn),的實(shí)現(xiàn)方案及與交互方案。中的實(shí)現(xiàn)方式原理與中原生協(xié)議類似,通過攔截形式實(shí)現(xiàn)。可以通過自定義協(xié)議名稱,然后中攔截這個,并解析其中參數(shù)與回調(diào)函數(shù),調(diào)用方法,并實(shí)現(xiàn)回調(diào)。 android hybird 與h5 app區(qū)別 hybird 與h5 app是不一樣的,以前對這兩者理解有所誤解,在實(shí)際開發(fā)中也并未真正采用hybird,而是使用h5...

    hoohack 評論0 收藏0
  • [前端] H5頁檢測手機(jī)是否安裝app 相關(guān)流程

    摘要:近期公司需要針對分享流程進(jìn)行優(yōu)化,其中一點(diǎn)就是前端檢測是否安裝應(yīng)用,來進(jìn)行不同的判斷下載或直接跳轉(zhuǎn)到中。為回調(diào)函數(shù),根據(jù)返回來判斷是否安裝。 近期公司需要針對分享流程進(jìn)行優(yōu)化,其中一點(diǎn)就是前端H5檢測是否安裝應(yīng)用,來進(jìn)行不同的判斷(下載或直接跳轉(zhuǎn)到app中)。原理很簡單:創(chuàng)建一個iframe去打開uri。如果打開app成功網(wǎng)頁進(jìn)入后臺,再切換回來時間會超過2.5s。利用時間去檢測。下面...

    bawn 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<