android-hybird(一)
阿新 • • 發佈:2018-12-16
hybird混合開發是現在應用開發中非常常見的
1.成本低,展示豐富
有些公司的產品剛剛開始可能甚至只投入後h5的應用,也就是你開啟應用,都是h5頁面。為什麼呢,成本低啊
2.h5展示,更新方便
h5真是的web頁面,是後臺推送來的資料,由伺服器隨時更新,而應用端不用關心他的變化
3.實際需要
比如淘寶,京東,滴滴頁面都有h5部分,都是混合開發,還有各種廣告,都是web
但是純的h5的應用在手機裝置上的體驗是沒法和native應用相比的,所以hybird是必然的。
混合開發第一種介紹路由機制
路由每個人都知道,就是跳轉唄,確實這裡用的url路由的功能和實際路由是十分類似的
大白話開始介紹(webview、webclient基礎不說)
1.當點選了app裡某個web banner/button(通常這個banner或button都是攜帶一個uri的),想跳到app的指定頁面
通過webclient,webclient有一個函式
shouldOverrideUrlLoading
就是用來攔截web處理的,返回true,就是你處理了,web不需要處理;false反之。來個小例子:
@Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { // Check if URL belongs to app if (uri的判斷) { //這裡是你的處理 return true; } return false; }
2.路由處理
比如你的uri是 test://one... test://two...
你的路由只需要獲取uri的host然後根據host去跳轉到具體的頁面
if (uri.getHost.equals(one)){
跳轉到one的頁面
}
具體細節如何連線,是介面還是別的,你自己定就好了
提醒這個方式的uri必須和後端人員協定好
ok 就是這樣,說的比較粗糙,體會一下,下一篇是hybird的第二種方式