簡易ブラウザの作成(その1)
WebViewにURLをロードさせる
アプリケーションがWebViewを使用するように変更したので、次はWebViewに表示するURLを設定してみましょう。
WebViewにURLを表示するには、WebViewが持っているメソッド「loadUrl」を使用します。
アクティビティの処理を変更し、loadURLを呼び出すように処理を追加してみましょう。
- MyWebView/src/com.example.mywebview/MyWebView.javaを開きます。
- 赤文字部分の処理を追加します。
<code> public class MyWebView extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); <i><font color="red">WebView webView = (WebView)findViewById(R.id.main_webview); webView.setWebViewClient(new WebViewClient()); webView.loadUrl("http://google.co.jp");</font></i> } } </code>
WebViewのメソッドを呼び出すために、findViewById()を使用して、実行時に生成されるViewの情報を取得しています。この時、 Viewを指定するキーになる情報が、前章でxmlに記述したidになります。xmlに記述したidは、実行ファイル作成時に「R」というクラスのメンバとして生成され、アプリケーション・プログラムから参照可能になるという仕組みです。
後は、WebViewをhttpクライアントとして、loadURLを呼び出せば良いということになります。今回は、GoogleのURLを指定しています。
プログラムとしてはこれでOKですが、このままではうまく動作しません。
Androidでは、あらかじめプログラムが必要とする権限を、マニフェスト・ファイルに記述しておく必要があります。
現在は、マニフェストには何も記述されていないので、通信を行うことができません。
以下のようにマニフェストに追記し、通信を行う権限を追加します。
<code> <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.mywebview" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MyWebView" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <i><font color="red"><uses-permission android:name="android.permission.INTERNET"></uses-permission></font></i> </manifest> </code>
この段階で、プログラムを実行してみましょう。
起動するだけで、図3のような画面が出るはずです。
この画面は通常のブラウザと同じ機能を持っていますので、Google検索を行うことも可能です。
まとめ
思ったよりも簡単にWebブラウザが作成できることを理解していただけたのではないかと思います。
次回は、About画面を追加する作業を通して、メニュー操作と画面の追加方法を説明します。
それでは次回をお楽しみに。