在最近的一个项目中,需要做一个对战的小游戏,使用vue.js制作,而Android这边需要在webview中加载,并且把用户的登录信息等等传递给js。
首先建立一个Util(代码如下)
写一个有参构造函数,由于需要从SharedPreferences取数据,所以需要一个context
(1)login是一个登陆的方法,用于给js传递在Android端登陆的用户信息
新建一个map用于存储数据
map.put方法就不过多介绍了
String login = new Gson().toJson(map);
将map中的数据转化为一个json,交给js去解析
注意: @JavascriptInterface 是必须
其他的参数按照大家的业务逻辑来操作。
下面的两个方法exit是退出用的,show是用于测试,就不过多介绍了
(2)webview端的操作
代码如上:
新建一个刚刚定义好的AndroidtoJs,将context传递到有参构造函数中。
webView.addJavascriptInterface(androidtoJs, "login");
调用webview的addJavascriptInterface方法,将util和你定义好的方法名传递进去
大功告成
接下来当js那边调用login.login的方法时,你在AndroidtoJs 中的login方法就会把你刚才写好的map转json的数据传递给对方。
如果看完本文,感觉有帮助的请帮忙点个赞,谢谢观看