前言
-
現在很多
App
里都內置了Web網頁(Hybrid App
),比如說很多電商平臺,淘寶、京東、聚劃算等等,如下圖
京東首頁 那么這種該如何實現呢?其實這是
Android
里一個叫WebView
組件實現今天,我將獻上一份全面 & 詳細的
WebView
攻略,含具體介紹、使用教程、與前端JS
交互、緩存機制構建等等,希望您們會喜歡。
Carson帶你學WebView系列文章
Carson帶你學Android:這是一份全面&詳細的WebView學習攻略
Carson帶你學Android:最全面、最易懂的Webview使用詳解
Carson帶你學Android:全面總結WebView與 JS 的交互方式
Carson帶你學Android:手把手構建WebView緩存機制及資源預加載方案
Carson帶你學Android:盤點你不知道的WebView漏洞
目錄
示意圖
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個使用類 & 使用方法
- 具體請看文章:Carson帶你學Android:最全面、最易懂的Webview使用詳解
4. WebView與 JS 的交互方式
- 在
Android WebView
的使用中,與前端h5
頁面交互的需求十分常見 -
Android
與JS
通過WebView互相調用方法,實際上是:Android
去調用JS
的代碼 +JS
去調用Android
的代碼
二者溝通的橋梁是
WebView
示意圖
5. 使用漏洞
-
WebView
使用過程中存在許多漏洞,容易造成用戶數據泄露等等危險,而很多人往往會忽視這個問題 -
WebView
中,主要漏洞有3類:任意代碼執行漏洞、密碼明文存儲漏洞、域控制不嚴格漏洞 - 漏洞具體介紹 & 修復方式請看文章:Carson帶你學Android:盤點你不知道的WebView漏洞
6. 緩存機制構建
-
Android WebView
由于前端h5
本身的原因,存在加載效率慢 & 流量耗費的性能問題,具體介紹如下:
示意圖
- 本文通過
H5
緩存機制 + 資源預加載 + 資源攔截的方式 構建了一套WebView
緩存機制,從而解決Android WebView
的性能問題,最終提高用戶使用體驗 - 具體緩存機制的講解請看文章:Carson帶你學Android:手把手構建WebView緩存機制及資源預加載方案
至此,關于Android WebView
的所有知識講解完畢。
7. 總結
- 本文全面講解了
WebView
的相關知識,含具體介紹、使用教程、與前端JS
交互、緩存機制構建等等,相信你對Android WebView
的使用已經非常熟悉了。 -
Carson帶你學WebView系列文章
Carson帶你學Android:這是一份全面&詳細的WebView學習攻略
Carson帶你學Android:最全面、最易懂的Webview使用詳解
Carson帶你學Android:全面總結WebView與 JS 的交互方式
Carson帶你學Android:手把手構建WebView緩存機制及資源預加載方案
Carson帶你學Android:盤點你不知道的WebView漏洞
歡迎關注Carson_Ho的簡書
不定期分享關于安卓開發的干貨,追求短、平、快,但卻不缺深度。