HT-03A その9
今回は、Androidアプリからインターネット接続をすることについて。
/*-------------------------------------------------------------------*/
Androidのインタフェースには、WEBビューというものがある。これは、HTMLファイルを表示するもので、HTMLファイルがローカルにあってもインターネット上にあっても読み込むことができる。また、JavaScriptを利用することもできる。
まず、Androidアプリからインターネット接続ができるように設定しなければならない。Androidマーケットからアプリをダウンロードしたことのある方なら、アプリの説明にある「許可」の欄に、「ネットワーク接続 完全なインターネット接続」という記述があるのにお気づきかもしれない。このように許可をする必要があるのである。
このようなセキュリティ上ユーザに通知する必要がある機能は、AndroidManifest.xmlファイルのPermissionsの項目で利用することを明示しておかなければ、利用できない。具体的には、EclipseのPackage ExplorerでAndroidManifest.xmlをダブルクリックして表示し、Permissionsタグを開いて、AddボタンをクリックしてUser Permissionを追加し、コンボボックスからandroid.permissin.INTERNETを選択する。これで、アプリのインターネット通信機能が有効になる。
次に、WEBビューを配置する。まず、予め
import android.webkit.WebView;
import android.webkit.WebSettings;
のようにimportしておく。HTMLを表示するだけならこれで十分だが、ブラウザを閉じるなど、Webブラウザのイベントを利用する場合はさらに
import android.webkit.WebChromeClient;
も必要になる。この辺がGoogleらしいところだ。JavaScriptを利用する場合はさらに
import android.webkit.JsResult;
も記述する。なお、JavaScriptのように、外部から呼ばれたメソッドの処理を行う場合は、作業用のHandlerの生成し、それを用いて処理するようにした方がよいらしい。さもないと、インタフェースがフリーズする場合があるそうだ。Handlerを利用するには、
import android.os.Handler;
なる記述が必要だ。
さて、ここまで述べては見たものの、今回は単にWEBビューを配置してHTMLを表示するのに必要な内容のみに絞ろう。よって、ここで必要なimport文は、以下のものに限られる。
import android.webkit.WebView;
import android.webkit.WebSettings;
今回は、レイアウトは必要ない。このような前提のもとで、WEBビューを生成するには
WebView webView = new WebView(this);
とする。そして、その設定を取得するために、
WebSettings settings = webView.getSettings();
と記述する。この際、例えばJavaScriptを有効にしたければ、
settings.setJavaScriptEnabled(true);
とすればよい。
次に、HTMLの読み込みを行う。これには、
webView.loadUrl("http://www.****.com/????.html");
のように指定する。なお、ローカルにおいたHTMLファイルを読み込む場合は、EclipseのPackage Explorerにある「assets」フォルダにコピーしておき、
webView.loadUrl("file:///android_asset/????.html");
のように指定する。/が3つになることに注意しよう。
ここまで記述すれば、あとは、
setContentView(webView);
とすれば、WEBビューが表示される。
今回の大切なところは、WEBビューよりも寧ろ、通信機能を有効にするところだな。やはりセキュリティを十分に考慮する必要があるので、このような通信機能を必要とする場合は、よく考えておかねばならない。
/*-------------------------------------------------------------------*/

/*-------------------------------------------------------------------*/
Androidのインタフェースには、WEBビューというものがある。これは、HTMLファイルを表示するもので、HTMLファイルがローカルにあってもインターネット上にあっても読み込むことができる。また、JavaScriptを利用することもできる。
まず、Androidアプリからインターネット接続ができるように設定しなければならない。Androidマーケットからアプリをダウンロードしたことのある方なら、アプリの説明にある「許可」の欄に、「ネットワーク接続 完全なインターネット接続」という記述があるのにお気づきかもしれない。このように許可をする必要があるのである。
このようなセキュリティ上ユーザに通知する必要がある機能は、AndroidManifest.xmlファイルのPermissionsの項目で利用することを明示しておかなければ、利用できない。具体的には、EclipseのPackage ExplorerでAndroidManifest.xmlをダブルクリックして表示し、Permissionsタグを開いて、AddボタンをクリックしてUser Permissionを追加し、コンボボックスからandroid.permissin.INTERNETを選択する。これで、アプリのインターネット通信機能が有効になる。
次に、WEBビューを配置する。まず、予め
import android.webkit.WebView;
import android.webkit.WebSettings;
のようにimportしておく。HTMLを表示するだけならこれで十分だが、ブラウザを閉じるなど、Webブラウザのイベントを利用する場合はさらに
import android.webkit.WebChromeClient;
も必要になる。この辺がGoogleらしいところだ。JavaScriptを利用する場合はさらに
import android.webkit.JsResult;
も記述する。なお、JavaScriptのように、外部から呼ばれたメソッドの処理を行う場合は、作業用のHandlerの生成し、それを用いて処理するようにした方がよいらしい。さもないと、インタフェースがフリーズする場合があるそうだ。Handlerを利用するには、
import android.os.Handler;
なる記述が必要だ。
さて、ここまで述べては見たものの、今回は単にWEBビューを配置してHTMLを表示するのに必要な内容のみに絞ろう。よって、ここで必要なimport文は、以下のものに限られる。
import android.webkit.WebView;
import android.webkit.WebSettings;
今回は、レイアウトは必要ない。このような前提のもとで、WEBビューを生成するには
WebView webView = new WebView(this);
とする。そして、その設定を取得するために、
WebSettings settings = webView.getSettings();
と記述する。この際、例えばJavaScriptを有効にしたければ、
settings.setJavaScriptEnabled(true);
とすればよい。
次に、HTMLの読み込みを行う。これには、
webView.loadUrl("http://www.****.com/????.html");
のように指定する。なお、ローカルにおいたHTMLファイルを読み込む場合は、EclipseのPackage Explorerにある「assets」フォルダにコピーしておき、
webView.loadUrl("file:///android_asset/????.html");
のように指定する。/が3つになることに注意しよう。
ここまで記述すれば、あとは、
setContentView(webView);
とすれば、WEBビューが表示される。
今回の大切なところは、WEBビューよりも寧ろ、通信機能を有効にするところだな。やはりセキュリティを十分に考慮する必要があるので、このような通信機能を必要とする場合は、よく考えておかねばならない。
/*-------------------------------------------------------------------*/
コメント
コメントの投稿






