必知必会 | WebView 的一切都在这儿

文章较长,且大部分说明包含在注释中,建议收藏后慢慢看~

1
目录

  1. 相关API

    1.1. 相关类介绍

    1.2. WebView

    1.3. WebSettings

    1.4. WebViewClient

    1.5. WebChromeClient

2.回调顺序

3.视口(viewport)

4.管理 Cookies

5.缓存(Cache)

6.预加载(Preload)

6.与Javascript交互

8.地理位置(Geolocation)

9.弹框(alert/confirm/prompt/onbeforeunload)

10.全屏(Fullscreen)

  1. 内存泄漏

12.参考

2
相关API

相关类介绍

WebResourceRequest 添加于API21,封装了一个Web资源的请求信息,包含:请求地址,请求方法,请求头,是否主框架,是否用户点击,是否重定向

WebResourceResponse 封装了一个Web资源的响应信息,包含:响应数据流,编码,MIME类型,API21后添加了响应头,状态码与状态描述

WebResourceError 添加于API23,封装了一个Web资源的错误信息,包含错误码和描述

CookieManager 管理用于WebView的cookies。。

WebViewDatabase 存储与管理以下几类浏览数据:

表单自动填充的的用户名与密码

HTTP认证的用户名与密码

曾经输入过的文本(比如自动完成)

WebStorage 用于管理WebView提供的JS存储API,比如Application Cache API,Web SQL Database API,HTML5 Web Storage API

GeolocationPermissions 用于管理WebView的JS Geolocation API

HttpAuthHandler 表示一个HTTP认证请求,提供了方法操作(proceed/cancel)请求

SslErrorHandler 表示一个处理SSL错误的请求,提供了方法操作(proceed/cancel)请求

ClientCertRequest 表示一个证书请求,提供了方法操作(proceed/cancel/ignore)请求

JsResult 用于处理底层JS发起的请求,为客户端提供一些方法指明应进行的操作,比如确认或取消。

WebView

基本

// 获取当前页面的URL
public String getUrl();
// 获取当前页面的原始URL(重定向后可能当前url不同)
// 就是http headers的Referer参数,loadUrl时为null
public String getOriginalUrl();
// 获取当前页面的标题
public String getTitle();
// 获取当前页面的favicon
public Bitmap getFavicon();
// 获取当前页面的加载进度
public int getProgress();
// 通知WebView内核网络状态
// 用于设置JS属性window.navigator.isOnline和产生HTML5事件online/offline
public void setNetworkAvailable(boolean networkUp)
// 设置初始缩放比例
public void setInitialScale(int scaleInPercent);

加载网页

// 加载URL指定的网页
public void loadUrl(String url);
// 携带http headers加载URL指定的网页
public void loadUrl(String url, Map

必知必会 | WebView 的一切都在这儿相关推荐

  1. Java架构师必知必会,带走不谢

    可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地. 成为Java架构师,需要掌握哪些技能呢 ...

  2. c2064 项不会计算为接受0个参数的函数_【JS必知必会】高阶函数详解与实战

    本文涵盖 前言 高级函数概念 函数作为参数的高阶函数 map filter reduce sort详解与实战 函数作为返回值的高阶函数 isType函数与add求和函数 如何自己创建高阶函数 前言 一 ...

  3. MySQL必知必会教程:深入理解MySQL技术内幕

    2019独角兽企业重金招聘Python工程师标准>>> MySQL必知必会教程:深入理解MySQL技术内幕 作为最流行的开源数据库软件之一,MySQL数据库软件已经是广为人知了.当前 ...

  4. mysql必知必会_《MySQL必知必会》学习小结

    关于SQL,之前通过sqlzoo的题目,完成了入门,也仅仅是入门而已. 最近都在忙着投简历和找新的数据分析项目做(为了练python和面试的时候有的聊),所以SQL放了一段时间没练.目前的工作用不到, ...

  5. php7.2 开启mcy扩展,phper必知必会(二)

    1.说说你对进程,线程以及协程的理解 进程:是系统进行资源分配和调度的基本单位,是基本操作系统结构的基础.进程是程序基本执行的实体.进程与进程之间是独立的,拥有完全独立的地址空间,进程的切换只发生在内 ...

  6. 脑残式网络编程入门(三):HTTP协议必知必会的一些知识

    为什么80%的码农都做不了架构师?>>>    本文原作者:"竹千代",原文由"玉刚说"写作平台提供写作赞助,原文版权归"玉刚说&q ...

  7. 【web必知必会】—— 图解HTTP(下)

    [web必知必会]-- 图解HTTP(下) 原文:[web必知必会]-- 图解HTTP(下) 上一篇<图解HTTP 上>总结了HTTP的报文格式,发送方式,以及HTTP的一些使用. 本文再 ...

  8. mysql正则表达式关键字_《MySQL必知必会》正则表达式

    <MySQL必知必会>正则表达式 正则表达式 1.1.关键字 REGEXP 正则表达式的使用需要用到关键字 REGEXP . select prod_name from products ...

  9. java的标量和聚合量_第5节:Java基础 - 必知必会(下)

    第5节:Java基础 - 必知必会(下) 本小节是Java基础篇章的第三小节,主要讲述Java中的Exception与Error,JIT编译器以及值传递与引用传递的知识点. 一.Java中的Excep ...

最新文章

  1. Express应用配置端口
  2. 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
  3. python编程语言能干什么-这 13个,1 行Python代码能干哪些事?
  4. python源码用于查找指定具有相同内容的文件
  5. github提交,却不显示提交记录
  6. 消息队列入门案例-编码
  7. 一次完整的Loadrunner基本流程操作
  8. 我用 Python 3分钟实现9种经典排序算法的可视化
  9. mysql设置行值唯一_mysql怎么设置行值唯一?
  10. 9.2. FreeSWITCH
  11. 使用sharepoint自带的文本编辑器1
  12. 有管网气体消防系统小知识来啦
  13. 如何正确地跟二维码里的神仙打架?给小朋友讲解二维码原理
  14. 关于B树的思考:m阶B树的非根非叶节点为什么要至少为ceil(m/2)个孩子? c/c++描述
  15. Windows下hosts文件的作用
  16. 车牌识别EasyPR(2)——车牌颜色定位与偏斜扭转
  17. 牛客网C语言编程初学者入门训练135题
  18. MySQL数据库灵魂拷问
  19. 数据分析知识体系与校招时间线
  20. gotoxy()的用法.

热门文章

  1. idw matlab 程序_IDW 算法MATLAB 实现 -
  2. 安装activemq
  3. word文档怎么找回误删的文件_word文件数据恢复|word文件不小心删除怎么恢复?...
  4. OpenShift Security 16 - 用 RHACS 为加固应用镜像安全提供线索
  5. OpenShift 4 之 高可靠运行MS SQL Server 2019数据库
  6. Atata——C# Web测试自动化框架
  7. 面向对象的重试模式方法
  8. 使用Visual Studio Code进行由内而外的C#开发
  9. php中英文版切换最好的办法,php做项目进行中英文的切换,如何快速实现
  10. python vbscript_将VBScript转换为Python