Android 混合编程 WebView

WebView底层原理

有些复杂 参考这篇就够了 https://www.jianshu.com/p/3e0136c9e748

重定向:WebViewClient拦截原本的url,替换自己想要的url,再用WebView去加载,这样可以知道用户在做什么事情,本地可以配合实现一些业务,注意要区别WebChromeClient。

Android 和JavaScript交互 (WebView与JavaScript的通信)

所有的混合开发框架,像微信小程序,React native

任何学习安卓的原理,都需要去看深入的源码

Android 混合编程 WebView

点击WebVieww进入

每个版本的WebView都不一样,有直接继承MockView,也有继承AbsoluteLayout

1.Android 混合编程 WebView

 

2.Android 混合编程 WebView

MockView :Mock数据常常与服务端开发相结合(网络),如开发一个功能的时候,需要后台服务器提供一个接口,供客户端去访问,从后台拿到相应的业务逻辑—数据。这个Mock就是正式接口还没写出来,但是可以开一个服务通过假的接口(Mock接口)提供假的数据,将调试和开发分离开来。

google为了方便改WebView底层的时间,就搞了个MockView

参考 http://androidxref.com/ 查看MockViewd的源码,随便选择一个版本进去http://androidxref.com/7.1.2_r36/

搜索MockView 

Android 混合编程 WebView

Android 混合编程 WebView

其地址 http://androidxref.com/7.1.2_r36/xref/cts/tests/tests/view/src/android/view/cts/MockView.java 其实是继承View

Android 混合编程 WebView