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

混合开发(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 使用漏洞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值