Android WebView由入门到精通 使用经验记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/questions000/article/details/79954362

混合开发(Hybrid方向),是使用webview来开发WebAPP的。

入门

参考:(可以参考API Guide,但下面这篇博客更清晰)
Android:最全面的 Webview 详解
经验:
1. 如果不实用系统自带的浏览器,要先设置webView.setWebViewClient(new WebViewClient()),然后再loadurl,参考博客里面先loadurl后设置的方式不正确,虽然也实现了效果,但那是因为在复写的WebViewClient又加载了一次的原因。
2. 为什么不在xml中定义 Webview?参考:WebView 避免内存泄露的方法

交互

参考:
Android:你要的WebView与 JS 交互方式 都在这里了
经验:
1. 相互交互时候,调用对方函数,需要传参数,直接用字符串拼接的方式,将参数传入。eg:

//调用js函数,将扫描到的数据塞入网页对应位置
webview.loadUrl("javascript:setOrderNum('" + scanResult +"')");
//js调用Android原生函数,由于对象映射,所以调用test对象等于调用Android映射的对象
test.hello("js调用了android中的hello方法");
  1. js调用android,可以直接获取到android函数的返回值;android调用js,用loadurl方式获取不到返回值,用evaluateJavascript可以,但evaluateJavascript在4.4以上才生效。

1. Cookie读写

参考:
【WebView的cookie机制 】轻松搞定WebView cookie同步问题
读取举例:

CookieManager.getInstance().getCookie("https://passport.bilibili.com/login");

URLConnection请求加cookie:

connection.setRequestProperty("Cookie", "Cookie:" + getCookie());

延伸:
利用读写机制,可以写大多数网站的安卓辅助,包括抢购、抢票、直播平台的脱机挂机辅助.etc

2. PC浏览器上管理Cookie

参考:
浏览器怎么查看浏览过的本地缓存Cookie和网站数据?
360浏览器主要查看步骤:
“高级设置”——“网页内容”——“内容设置”——“所有Cookie和网站数据”。

预加载

参考:手把手教你构建 Android WebView 的缓存机制 & 资源预加载方案

漏洞

参考:你不知道的 Android WebView 使用漏洞

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页