今天来到新公司看到新公司用WebView做的四方支付确认界面,我之前虽然用过WebView但是自我感觉并不是太会,所以有了今天这篇文章,跟大家一起学习。
WebView是Google推出的一款手机访问URL的控件,大大方便了程序员访问固定网页的工作量。跟我们平时自己写控件访问网页几乎没有区别,都是通过HTTp协议访问,但是Google给我们提供了更多的实用方法。
WebView实用方法:
创建WebView实例:WebView webview = new WebView(this); 加载指定网页:public void loadUrl (String url) 加载指定网页并携带http header数据:public void loadUrl (String url, MapadditionalHttpHeaders) 重新加载网页(页面所有资源重新加载):public void reload () 停止网页加载:public void stopLoading () 加载指定网页(使用baseUrl加载网页,解决JavaScript同源问题):public void loadDataWithBaseURL (String baseUrl, String data, String mimeType, String encoding, String historyUrl) 后退:public void goBack () 前进;public void goForward () 根据Histroy加载界面,以当前的index为起始点前进或者后退到历史记录中指定的steps,如果steps为负数则为后退,正数则为前进:public void goForward () 判断是否可以前进:ublic boolean canGoForward () 判断是否可以后退:public boolean canGoBack ()
加载指定的data数据:public void loadData (String data, String mimeType, String encoding) 参数说明: data 字符串String形式的数据可以通过base64编码而来 mimeType data数据的MIME类型,e:'text/html' encoding data数据的编码格式
当网页需要和App进行交互时,可以注入Java对象提供给JavaScritp调用. Java对象提供相应的方法供js使用:public void addJavascriptInterface (Object object, String name)