AndroidアプリでWebView

Javaでゴリゴリ書かなくても、WebView+HTML5でアプリっぽく何かを作ろうと思う。

詳しくはココ
http://developer.android.com/reference/android/webkit/WebView.html

マニュフェストに必要

<uses-permission android:name="android.permission.INTERNET" />

インスタンスの場合

WebView webview = new WebView(this);
setContentView(webview);

XMLで定義する場合

setContentView(R.layout.main);
webview = (WebView) findViewById(R.id.webview);
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<WebView
android:id="@+id/webview_1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
</LinearLayout>

URLの読み込み
HTMLファイルとして、HTMLの文字列を渡してもOKそう。

webview.loadUrl("http://www.google.com");

WebViewClient
そのままだとページ内のリンクをクリックすると、
標準ブラウザになってしまうが、自分のWebViewで遷移先も表示させるには

webview.setWebViewClient(new WebViewClient() {});

デフォルトのズームコントロールを使う

webview.getSettings().setBuiltInZoomControls(true);

JavaScript を有効にする

webview.getSettings().setJavaScriptEnabled(true);

まだ試してないけど、cookieは標準ブラウザのデータとは共有しない。
http://developer.android.com/reference/android/webkit/CookieSyncManager.html