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 ネイティブ: アプリは WebView に JavaScript コードを挿入したり、ウェブページのコンテンツを操作したり、ウェブページによってトリガーされたイベントに応答したりすることもできます。
WebView は Chrome などの一般的なブラウザとどう違うのですか?
WebView は、ウェブへのウィンドウのコア機能を提供する高度にカスタマイズ可能なコンポーネントです。ブラウザは、ナビゲーション バーやウェブをより広範にナビゲートするために必要なその他のユーザー機能の多くを提供しますが、WebView の全体的なエクスペリエンスは、アプリのデザインと目的に合わせて調整されます。
WebView と標準ブラウザの違いについて詳しくは、以下の説明をご覧ください。
UI: WebView はウェブ コンテンツの表示に使用され、他の一般的なブラウザ(ホームボタン、URL バー、ナビゲーション、設定など)のような独自のヘッダーや UI はありません。
機能: 多くのブラウザには、ブックマーク、権限、履歴など、ブラウジング エクスペリエンスを向上させるための追加機能が組み込まれています。
アップデート: Android WebView は Android のシステム サービスであるため、アップデートは毎月自動的にプッシュされ、アプリに統合されます。ブラウザは、対応するアプリのアップデートに依存しており、エンドユーザーがデバイスでアップデートを適用する必要があります。
どこから始めればよいですか?
アプリで WebView を使用する方法については、WebView でウェブアプリを作成するをご覧ください。
参考情報
WebView オブジェクトまたはカスタムタブを使用した Android デバイス向けウェブページの開発については、次のドキュメントをご覧ください。
- WebView でウェブアプリを構築する
- WebView オブジェクトを管理する
- ウェブアプリで異なる画面をサポートする
- ウェブアプリをデバッグする
- ウェブアプリに関するおすすめの方法
- WebView ベータ版を有効にする
- Embedded Web を使用したアプリ内ブラウジング
- Android カスタムタブの概要