Androidの標準APIで用意されていたHttpClientはFroyo以降では使えなくなるので、HttpURLConnectionに移行しました。
いろいろな機能を使うような開発にはOkHttpなどのほうが人気のようですが、設定ファイルを取得するなどの簡単な物なら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などを使う必要があります。
Page Info | |
---|---|
Page Name : | Android/HttpClientからHttpURLConnectionへ移行する |
Page aliases : | None |
Page owner : | njf |
Can Read | |
Groups : | All visitors |
Users : | All visitors |
Can Edit | |
Groups : | All visitors |
Users : | All visitors |
Counter: 1655,
today: 1,
yesterday: 2
Princeps date: 2016-08-23 (Tue) 05:20:42
Last-modified: 2016-08-23 (Tue) 05:27:43 (JST) (2183d) by njf