將網頁內容嵌入應用程式中,做為主要或輔助內容

Android 可讓開發人員在原生應用程式中運用網路的強大功能,因此可享有顯示特定類型內容的彈性和效率。

使用 WebView 嵌入內容

WebView API 可讓開發人員存取迷你瀏覽器的功能,以便在應用程式中顯示網路內容。這樣一來,您就能在應用程式中提供以網頁為基礎的體驗,做為核心或支援部分,如圖 1 所示。

Android 應用程式開啟 Google Play 畫面,主要網頁檢視畫面以紅色方塊標示 開啟 Android 應用程式,紅色方塊內顯示輔助文字。
圖 1. 應用程式內嵌的網路內容,其中 WebView 是主要內容 (左側),而支援內容則是輔助內容 (右側)。

WebView 可以做什麼?

以下是您可以在應用程式中使用 WebView 執行的操作:

嵌入網頁:WebView 會以元件的形式整合至應用程式的使用者介面,類似按鈕或文字欄位。

載入內容:WebView 可從各種來源載入網頁內容:

  • 遠端網址:可從網際網路擷取及顯示網頁,就像一般瀏覽器一樣。
  • 本機檔案:可載入儲存在應用程式資源中的 HTML、CSS 和 JavaScript 檔案。
  • 動態產生的內容:應用程式可以即時產生 HTML 內容,並將內容提供給 WebView。

轉譯:WebView 會使用瀏覽器引擎剖析及轉譯 HTML、CSS 和 JavaScript,並在應用程式 UI 的指定區域中顯示產生的網頁。

執行 JavaScript:WebView 可以在已載入的網頁內容中執行 JavaScript 程式碼。這樣一來,您就能在 WebView 中進行動態互動和更新。

原生應用程式互動:這就是 WebView 的強大之處。可在網頁和應用程式之間進行雙向通訊。

  • JavaScript 到原生:在 WebView 中執行的 JavaScript 程式碼可呼叫應用程式的主機 API,讓您存取相機、GPS 或感應器等裝置功能。
  • 原生至 JavaScript:應用程式也可以將 JavaScript 程式碼插入 WebView、操控網頁內容,或回應網頁觸發的事件。

WebView 與 Chrome 等一般瀏覽器有何不同?

WebView 是高度自訂的元件,可提供網頁視窗的核心功能。與瀏覽器不同,WebView 提供的導覽列和其他使用者需要的功能,可讓使用者更廣泛地瀏覽網頁,但整體體驗則取決於應用程式的設計和用途。

如要進一步瞭解 WebView 與標準瀏覽器的差異,請參閱下列說明:

使用者介面:WebView 用於顯示網站內容,且不像大多數常見瀏覽器 (主畫面按鈕、網址列、導覽、設定等) 有自己的標頭或使用者介面

功能:許多瀏覽器都已建構額外功能,例如書籤、權限或瀏覽記錄,以提升瀏覽體驗。

更新:Android WebView 是 Android 上的系統服務,因此系統會每月自動推送更新並整合至應用程式。瀏覽器會依賴對應的應用程式更新,然後由使用者在裝置上套用更新。

該從哪裡著手?

如要瞭解如何在應用程式中使用 WebView,請參閱「在 WebView 中建構網路應用程式」一文。

其他資源

如要使用 WebView 物件或自訂分頁,為 Android 裝置開發網頁,請參閱下列文件: