HTTP通信プログラムの作成1.プロジェクトの作成HTTP通信によってHTMLファイルを取得し、その内容を表示するプログラムを作成します。それでは、第一回と同様にプロジェクトの作成を行いましょう。main!」と表示される事が確認できると思います。今回は、この表示部分に取得したHTMLファイルの内容を表示します。第2回の内容で確認したように、TextViewの表示内容はmain.xmlで指定されるリソースの内容となっています。このままではプログラムで表示内容を変更することが出来ません。そこでまず、TextViewにIDを割り振り、TextViewオブジェクトを取得できるようにします。取得したオブジェクトのメソッドを使って表示内容の変更をします。TextViewへのIDの割り振りはmain.xmlで行います。main.xmlのソースを開き、TextViewの内容を以下のように変更します。android:id="@+id/view"android:layout_width="fill_parent"android:layout_height="wrap_content"/>変更内容はtext指定の削除とIDの追加の2点です。使うことでTextViewのオブジェクトを取得することが出来ます。TextViewオブジェクトを取得し、表示内容の変更を行うプログラムは以下のようになります。String("プログラムで指定するテキスト"));}}findViewByIdの引数にmain.xmlで指定したIDを与えることでオブジェクトを取得します。取得したTextViewオブジェクトのメソッドsetTextで表示する内容を指定します。プログラムの実行結果は以下のようになります。これでプログラム内で表示内容を変更する準備が出来ました。次に、今回の内容のキモとなるhttpGetメソッドを作成します。ここでは引数のstrURLにリクエストを行い、レスポンスをstreamで取得しています。今回は得られたデータをString型のdataにまとめて戻り値として返します。プログラムは以下のようになります。e.toString();}}(1)try-catchによるエラー処理try-catch構文は、tryの内容を実行していき、エラーが生じた際にcatchの内容に移動してエラー処理を行う事ができるというものです。(2)URLクラスを使用して通信を行う通信にはURLクラスを使用します。コンストラクタの引数に通信を行いたいURLを指定します。次にopenConnectionを使ってURLConnectionオブジェクトを生成します。データの取得をおこなうために、setDoInputでtrueを設定し、getInputStreamで入力ストリームを取得します。得られたストリームをバッファリーダーを使用して取り出します。(3)データの取得バッファリーダーによって1行ずつデータを取得します。ここでは取得したデータをひとつにまとめて、バッファの内容が殻になった時点で、データの取り出しを終了します。終了処理ではバッファ、コネクションをクローズし、取得したデータを返します。(5)エラー処理ここではエラーの内容を文字列として返すことにします。3.AndroidManifestへの追記アプリで通信機能を使えるようにするためにAndroidManifestの編集を行います。プロジェクトの直下に存在するAndroidManifest.xmlを開きます。今回はxmlファイルを直接編集します。タブのAndroidManifest.xmlを選択し以下の内容を追記することで通信が行えるようになります。作成したhttpGetメソッドを以下のような形で使用します。String(httpGet("http://www.yahoo.co.jp")));実行結果は以下のようになります。これでHTTP通信によるHTMLファイルの取得が出来ました。通信によるデータの取得は比較的簡単に行う事が分かったと思います。この機能によってWEBサイトで公開されている情報を利用した様々な応用が期待できます。これらのデータを使うには必要な情報を取得するスクレイピングという解析作業を行う必要ある事、HTMLの形式が頻繁に変更される可能性がある事、スクレイピング自体を禁止しているサイトがある事などから敷居が低いとは言えません。APIを使用したアプリケーションの作成を行ないたいと思います。登録してみよう>>TOPへ会社案内プレスリリース災害用伝言版サービスサイト。