最終更新:
moonlight_aska 2011年07月30日(土) 23:51:30履歴
HTTP通信でバイト列(テキスト, 画像データ等)をダウンロードするには, HttpURLConnectionクラスを使用する.

- HttpGet01.java
- URLを指定して, URLクラスのインスタンスを生成する.
- URL#openConnectionメソッドで, HttpURLConnectionクラスのインスタンスを取得する.
- HttpURLConnection#setRequestMethodメソッドで, ダウンロード("GET")を指定する.
- HttpURLConnection#connectメソッドで, 通信を開始する.
- HttpURLConnection#getInputStreamメソッドで, データを取得する.
- HttpURLConnection#disconnectメソッドで, 終了時にHTTP通信を終了する.
package com.moonlight_aska.android.httpget01;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HttpGet01 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
HttpURLConnection http = null;
InputStream in = null;
TextView web = (TextView)findViewById(R.id.textview_id);
try {
// URLにHTTP接続
URL url = new URL("http://www.yahoo.co.jp");
http = (HttpURLConnection)url.openConnection();
http.setRequestMethod("GET");
http.connect();
// データを取得
in = http.getInputStream();
// HTMLソースを読み出す
String src = new String();
byte[] line = new byte[1024];
int size;
while(true) {
size = in.read(line);
if(size <= 0)
break;
src += new String(line);
}
// HTMLソースを表示
web.setText(src);
} catch(Exception e) {
web.setText(e.toString());
} finally {
try {
if(http != null)
http.disconnect();
if(in != null)
in.close();
} catch (Exception e) {}
}
}
}

コメントをかく