Android WebView混合开发之WebView使用总结

前言

      随着原生开发与混合开发越来越多,相信很多人在开发的时候都用过 WebView,遇到的坑也不少。我会推荐两种方法解决日常开发中遇到的问题。下面针对问题对混合开发之WebView使用总结。

一、WebView与Javascript交互

WebView与Javascript交互是双向的数据传递

1.H5网页的JS函数调用Native函数

2.Native函数调用JS函数

具体实现:              

1.)AndroidMainfest.xml中加入网络权限

添加网络权限

2.)WebView开启支持JavaScript

让WebView支持JavaScript

注意:安全漏洞      

      具有远程执行漏洞,攻击者可以通过暴露的JS接口,结合Java反射机制执行任意Java对象的方法,为所欲为。影响范围:Android API level 小于17 (即Android 4.2之前的系统版本)。


3.)简单的H5网页实现,主要实现actionFromNative()、actionFromNativeWithParam(String str),放在assets文件下(可以是网络地址)

试例代码如下:

Android WebView混合开发之WebView使用总结_第1张图片
简单H5

4.)Native实现与JS交互函数:actionFromJs()、actionFromJsWithParam()

Android WebView混合开发之WebView使用总结_第2张图片
相关调用界面

以上就是WebView混合开发,下面针对方法做代码简单说明:

   (1)js(HTML)访问Android(Java)端代码是通过jsObj对象实现的,调用jsObj对象中的函数,如: window.jsObj.actionFromJs(),这里的jsObj就是Native中添加接口的别名

(2)Android(Java)访问js(HTML)端代码是通过loadUrl函数实现的,访问格式如:mWebView.loadUrl(“javascript:actionFromNative()”);


附github大神JS交互框如下:https://github.com/lzyzsd/JsBridge

总结:

      通过以上方法基本可以解决日常开发中混合开发交互的需求,如果有更好的方法欢迎提出。

你可能感兴趣的:(Android WebView混合开发之WebView使用总结)