WebViewでインターネットアクセス! (4/6)
作成:2010-12-15 10:06
更新:2010-12-16 08:51
更新:2010-12-16 08:51
■WebViewの設定をする
このWebViewには、Webブラウザとしてのさまざまな機能が盛り込まれており、そのための設定情報も保管されています。この設定をいろいろと操作することで、より使いやすい環境を整えることができます。
例えば、デフォルトの状態では、Androidのブラウザ特有の「+」「-」記号によるズームボタンが表示されませんし、JavaScriptも動きません。こうした機能も、WebViewの設定を行うことで利用可能になります。
WebViewの設定は、インスタンスに保管されている「WebSettings」というクラスのインスタンスによって管理されています。これは「getWebSettings」というメソッドにより取得することができます。
このWebSettingsクラスには、各種の設定情報が保管されており、それを変更するためのメソッドを呼び出して設定を行うことができます。例えば、ズームボタンを表示するなら、
setAllowFileAccess(真偽値) ファイルアクセスを許可するか否か
setBuiltInZoomControls(真偽値) ズームボタンのON/OFF
setSupportZoom(真偽値) ズームをサポートするか否か
setJavaScriptEnabled(真偽値) JavaScriptのON/OFF
setDefaultFontSize(整数) デフォルトフォントサイズの設定
setMinimumFontSize(整数) 最小フォントサイズの設定
setSaveFormData(真偽値) フォームデータを保存するか否か
setSavePassword(真偽値) パスワードを保存するか否か
setSupportMultipleWindows(真偽値) マルチウインドウをサポートするか否か
これらの中から主なものを利用したサンプルを下にあげておきます。ここではズームボタンもJavaScriptも使えるようになります。ただし、サイトによってはズームが表示されない場合もあります。このあたりは、サイトのつくり次第という面もあるので仕方ないでしょう。
例えば、デフォルトの状態では、Androidのブラウザ特有の「+」「-」記号によるズームボタンが表示されませんし、JavaScriptも動きません。こうした機能も、WebViewの設定を行うことで利用可能になります。
WebViewの設定は、インスタンスに保管されている「WebSettings」というクラスのインスタンスによって管理されています。これは「getWebSettings」というメソッドにより取得することができます。
このWebSettingsクラスには、各種の設定情報が保管されており、それを変更するためのメソッドを呼び出して設定を行うことができます。例えば、ズームボタンを表示するなら、
[WebView].getWebSettings().setBuiltInZoomControls(true);こんな感じで呼び出せばいい、というわけです。こうした設定用メソッドはたくさん用意されています。とりあえず、ざっと以下のようなものだけでも覚えておくとよいでしょう。
setAllowFileAccess(真偽値) ファイルアクセスを許可するか否か
setBuiltInZoomControls(真偽値) ズームボタンのON/OFF
setSupportZoom(真偽値) ズームをサポートするか否か
setJavaScriptEnabled(真偽値) JavaScriptのON/OFF
setDefaultFontSize(整数) デフォルトフォントサイズの設定
setMinimumFontSize(整数) 最小フォントサイズの設定
setSaveFormData(真偽値) フォームデータを保存するか否か
setSavePassword(真偽値) パスワードを保存するか否か
setSupportMultipleWindows(真偽値) マルチウインドウをサポートするか否か
これらの中から主なものを利用したサンプルを下にあげておきます。ここではズームボタンもJavaScriptも使えるようになります。ただし、サイトによってはズームが表示されない場合もあります。このあたりは、サイトのつくり次第という面もあるので仕方ないでしょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
package jp.tuyano.sample; import android.app.Activity; import android.os.Bundle; import android.webkit.*; import android.widget.*; public class MySample extends Activity { public WebView webview01; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webview01 = (WebView)findViewById(R.id.WebView01); webview01.setWebViewClient(new WebViewClient(){ @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { view.loadData("ERROR: " + description,"text/plain","utf8"); } }); webview01.getSettings().setBuiltInZoomControls(true); webview01.getSettings().setJavaScriptEnabled(true); webview01.getSettings().setMinimumFontSize(12); webview01.getSettings().setSupportZoom(true); webview01.getSettings().setSaveFormData(true); webview01.getSettings().setSavePassword(true); webview01.loadUrl("http://www.google.com/"); } }
※関連コンテンツ