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的第二种方式