ページへ戻る

− Links

 印刷 

Android​/HttpClientからHttpURLConnectionへ移行する :: NJF Wiki

xpwiki:Android/HttpClientからHttpURLConnectionへ移行する

Androidの標準APIで用意されていたHttpClient編集[1]はFroyo以降では使えなくなるので、HttpURLConnectionに移行しました。

いろいろな機能を使うような開発にはOkHttp編集[2]などのほうが人気のようですが、設定ファイルを取得するなどの簡単な物ならHttpURLConnectionで十分です。

GETでページの情報だけを取ってくるなら、

try {
	URL url = new URL(YOUR_URL);
	HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
		try {
			InputStream in = new BufferedInputStream(urlConnection.getInputStream());
			byte bodyByte[] = new byte[1024];
			int readLen = in.read(bodyByte);
			in.close();
			return new String(bodyByte,0,readLen, "UTF-8");
		}catch (Exception e){
			urlConnection.disconnect();
			Log.d(LOG_TAG,"connection error");
			return null;
		}
	}catch (Exception e){
		Log.d(LOG_TAG,"new URL error");
		return null;
	}

}

このようになります。ここでbyte[1024]はページのサイズに合わせてそれより大きな値に変更してください。 また、UIスレッドからネットワークにアクセスするとエラーになるのは以前と同じなので、その場合はAsyncTask編集[3]などを使う必要があります。


Last-modified: 2016-08-23 (火) 05:27:43 (JST) (2795d) by njf