×

Android Hybrid开发:这是一份详细 & 全面的WebView学习攻略

96
Carson_Ho 595a1b60 08f6 4beb 998f 2bf55e230555
2018.06.19 09:02 字数 1002

前言

  • 现在很多App里都内置了Web网页(Hybrid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图

    京东首页

  • 那么这种该如何实现呢?其实这是Android里一个叫WebView组件实现

  • 今天,我将献上一份全面 & 详细的 WebView攻略,含具体介绍、使用教程、与前端JS交互、缓存机制构建等等,希望您们会喜欢。


目录

示意图

1. 简介

一个基于webkit引擎、展现web页面的控件

a. Android 4.4前:Android Webview在低版本 & 高版本采用了不同的webkit版本的内核
b. Android 4.4后:直接使用了Chrome内核


2. 作用

  • Android 客户端上加载h5页面
  • 在本地 与 h5页面实现交互 & 调用
  • 其他:对 url 请求、页面加载、渲染、对话框 进行额外处理。

3. 具体使用

  • Webview的使用主要包括:Webview类 及其 工具类(WebSettings类、WebViewClient类、WebChromeClient类)
示意图

4. WebView与 JS 的交互方式

  • Android WebView的使用中,与前端h5页面交互的需求十分常见
  • AndroidJS 通过WebView互相调用方法,实际上是:Android 去调用JS的代码 + JS去调用Android的代码

二者沟通的桥梁是WebView

示意图

5. 使用漏洞

  • WebView 使用过程中存在许多漏洞,容易造成用户数据泄露等等危险,而很多人往往会忽视这个问题
  • WebView中,主要漏洞有3类:任意代码执行漏洞、密码明文存储漏洞、域控制不严格漏洞
  • 漏洞具体介绍 & 修复方式请看文章:你不知道的 Android WebView 使用漏洞

6. 缓存机制构建

  • Android WebView由于前端h5本身的原因,存在加载效率慢 & 流量耗费的性能问题,具体介绍如下:
示意图

至此,关于Android WebView的所有知识讲解完毕。


7. 总结


请点赞!因为你们的赞同/鼓励是我写作的最大动力!

相关文章阅读
Android开发:最全面、最易懂的Android屏幕适配解决方案
Android事件分发机制详解:史上最全面、最易懂
手把手教你写一个完整的自定义View
快来看看Google出品的Protocol Buffer,别只会用Json和XML了
Android开发:JSON简介及最全面解析方法!


欢迎关注Carson_Ho的简书!

不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度

Hybrid混合开发
Web note ad 1