Android では、アプリ内でウェブの機能を活用できます。そのため、特定の種類のコンテンツを柔軟かつ効率的に表示できます。
WebView を使用してコンテンツを埋め込む
WebView API を使用すると、アプリ内でウェブ コンテンツを表示するためのミニブラウザの機能にアクセスできます。これにより、図 1 に示すように、アプリのコア部分またはサポート部分としてウェブベースのエクスペリエンスを提供できます。
WebView が実行できる操作
アプリで WebView を使用すると、次のことができます。
ウェブを埋め込む:
WebViewは、ボタンやテキスト フィールドと同様に、コンポーネントとしてアプリのユーザー インターフェースに統合されます。コンテンツを読み込む:
WebViewは、さまざまなソースからウェブ コンテンツを読み込むことができます。- リモート URL: 通常のブラウザと同様に、インターネットからウェブページを取得して表示できます。
- ローカル ファイル: アプリのリソースに保存されている HTML、CSS、JavaScript ファイルを読み込むことができます。
- 動的に生成されたコンテンツ: アプリは HTML コンテンツを動的に生成して
WebViewに提供できます。
レンダリング:
WebViewは、ブラウザ エンジンを使用して HTML、CSS、JavaScript を解析してレンダリングし、結果のウェブページをアプリの UI の指定された領域に表示します。JavaScript を実行する:
WebViewは、読み込まれたウェブページのコンテキスト内で JavaScript コードを実行できます。これにより、WebView内で動的なインタラクションと更新が可能になります。アプリを操作する: ここで
WebViewの機能がさらに強化されます。これにより、ウェブページとアプリ間の双方向通信が可能になります。JavaScript からアプリコードへの通信:
WebViewで実行されている JavaScript コードは、アプリのホスト API を呼び出して、カメラ、GPS、センサーなどのデバイス機能にアクセスできます。アプリコードから JavaScript へ: アプリは、JavaScript コードを
WebViewに挿入したり、ウェブページのコンテンツを操作したり、ウェブページによってトリガーされたイベントに応答したりすることもできます。
WebView とブラウザの違い
WebView は、ウェブへのウィンドウのコア機能を提供する高度にカスタマイズされたコンポーネントです。ウェブをより広範にナビゲートするためのナビゲーション バーやその他のユーザー インターフェース要素を提供するブラウザとは異なり、WebView の全体的なエクスペリエンスは、アプリのデザインと目的によって形成されます。
WebView と標準ブラウザの違いについて詳しくは、以下の説明をご覧ください。
UI: WebView はウェブ コンテンツを表示するために使用され、他の一般的なブラウザのように、独自のヘッダーや UI(ホームボタン、アドレスバー、設定メニューなど)はありません。
機能: 多くのブラウザには、ブックマーク、権限、履歴など、ブラウジング エクスペリエンスを強化する機能が組み込まれています。
アップデート: Android WebView は Android のシステム サービスであるため、アップデートは毎月自動的にプッシュされ、アプリに統合されます。ブラウザは、対応するアプリ アップデートに依存し、エンドユーザーがデバイスにアップデートを適用します。
始める
アプリで WebView を使用する方法については、WebView でウェブアプリを構築するをご覧ください。
参考情報
WebView オブジェクトまたはカスタムタブを使用して Android 搭載デバイス向けのウェブページを開発するには、次のドキュメントをご覧ください。
WebViewでウェブアプリを構築するWebViewオブジェクトを管理する- ウェブアプリで異なる画面をサポートする
- ウェブアプリをデバッグする
- ウェブアプリに関するおすすめの方法
WebViewベータ版を有効にする- 埋め込みウェブを使用したアプリ内ブラウジング
- Android カスタムタブの概要
- WebView での投機的読み込み
- WebView の状態を効率的に管理する