libro
www.tuyano.com
Google androidプログラミング入門

WebViewでインターネットアクセス! (1/6)

作成:2010-12-15 08:29
更新:2010-12-15 08:31

■WebViewとは?

最近、ニュースや各種情報などを提供するさまざまなWebサイトが独自にAndroidアプリをリリースするようになってきました。一見するとずいぶんきれいな作りですが、いかにもアプリのリリースまでが早い。一体、いつの間にこんな作りこんだアプリを開発したんだろう、なんて思ったことはありませんか。――実は、こうしたアプリの大半は、「アプリの形をしたWeb」だったりします。アプリの中から、Android用の自サイトをロードして表示しているだけだったりするのですね。

あらかじめWebサイトを用意しておいて、それをアプリの画面にはめ込むだけですから、それは確かに開発も容易のはずです。が、見たところはちゃんとしたアプリになっていますし、表示がきちんとしていればちゃんとユーザーも受け入れてくれます。自分でWebサイトを運営している人からすれば、これは「超簡単アプリ開発の方法」といってもよいでしょう。

こうした「Webを表示するアプリ」で用いられているのが「WebView」というビューです。これは、文字通りWebサイトにアクセスし表示を行うための部品で、Chromeブラウザの「機能」だけをアプリにはめ込んでしまうもの、といってよいでしょう。この部品は、android.webkitパッケージに配置されており、一般的なTextViewなどの部品とは別枠で用意されています。

このWebViewは、普通の部品と同様にレイアウト用のXMLファイルの中にタグを記述して画面に配置し表示させることができます。実際に簡単なレイアウトのサンプルを下にあげておきました。main.xmlを以下のように書き換えてみてください。これで画面にWebViewが表示されます。ただし、これは部品を配置するだけです。Webサイトを表示する場合は、後でサイトのアドレスをWebViewに設定する必要があります。それから、xmlns:appの指定などはそれぞれのプロジェクトにあわせて修正してください。

さて、これでWebViewは配置できましたが、実をいえばまだ使えるようにはなっていません。WebViewでWebサイトを表示させるためには、アプリがインターネットにアクセスすることを許可されていなければいけません。これには、AndroidManifest.xmlへの記述が必要です。このXMLを開くと、その中に<manifest …略…></manifest>というタグがあり、この中に各種の情報が記述されているのがわかるはずです。このタグ内に、
<uses-permission android:name="android.permission.INTERNET" />
このようなタグを追記してください。各場所がよくわからなければ、</manifest>タグの直前に書いておけばよいでしょう。これにより、このアプリがインターネットを利用することが許可されます。――これで準備は整いました。後は、Activityクラスで、Webサイトに表示する処理を書くだけです。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	xmlns:android= "http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	xmlns:app= "http://schemas.android.com/apk/res/jp.tuyano.sample"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
<WebView
	android:id="@+id/WebView01"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	/>
</LinearLayout>
※関連コンテンツ

「Google androidプログラミング入門」に戻る