Androidの使用HttpUrlConnectionアクセスネットワーク
詳細はAndroidManifestにあります.xmlでネットワークアクセス権を宣言する Stringタイプに従って新規URLオブジェクト を作成する. URLオブジェクトを強制的にHttpURLConnectionタイプに変換し、openConnectionメソッドを使用してリンク を開きます.リンクの読み出しと接続タイムアウト を設定する.設定要求方法はGET である.リンクから入力ストリームを得るInputStream bufferを設定し、bufferを循環変数として入力ストリームを読み出してByteArrayOutputStream に書き込む.は、伝達String構造方法ByteArrayOutputStreamにより構成する.toArray()メソッドの結果,ネットワーク入力のローカライズ を実現する.
コードの例を次に示します.
各ステップの操作はコメントのシーケンス番号に対応します.
コードの例を次に示します.
InputStream is = null;
ByteArrayOutputStream baos = null;
try {
URL netUrl = new URL(url); //2
//
HttpURLConnection conn = (HttpURLConnection) netUrl.openConnection(); //3
conn.setReadTimeout(5*1000);
conn.setConnectTimeout(5*1000); //4
conn.setRequestMethod("GET"); //5
is = conn.getInputStream(); //6
int len = -1;
byte[] buffer = new byte[128]; //7
baos = new ByteArrayOutputStream();
//
while((len = is.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
baos.flush(); //
result = new String(baos.toByteArray()); //8
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
// lose all the resources!!
if (baos != null) {
try {
baos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (is != null) {
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
各ステップの操作はコメントのシーケンス番号に対応します.