使わなくなってしまったんだけども備忘録で。
こちらを参考にしました。
onCreate
URL url = new URL("http://www.example.co.jp/index.html");
new HttpGetTask().execute(url);
class HttpGetTask extends AsyncTask<URL, Void, String> {
@Override
protected String doInBackground(URL... url) {
String result = "";
HttpURLConnection conn = null;
try {
conn = (HttpURLConnection) url[0].openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();
int resp = conn.getResponseCode();
// respを使っていろいろ
result = readIt(conn.getInputStream());
} catch(IOException e) {
e.printStackTrace();
} finally {
if(conn != null) {
conn.disconnect();
}
}
return result;
}
public String readIt(InputStream stream) throws IOException, UnsupportedEncodingException {
StringBuffer sb = new StringBuffer();
String line = "";
BufferedReader br = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
while((line = br.readLine()) != null){
sb.append(line);
}
try {
stream.close();
} catch(Exception e) {
e.printStackTrace();
}
return sb.toString();
}
@Override
protected void onPostExecute(String resp){
// onCreateとほぼ同じこと(Fragmentにデータを送る
Bundle arguments = new Bundle();
arguments.putString(ItemDetailFragment.ARG_ITEM_ID,
getIntent().getStringExtra(ItemDetailFragment.ARG_ITEM_ID));
arguments.putString("responseText", resp);
ItemDetailFragment fragment = new ItemDetailFragment();
fragment.setArguments(arguments);
getFragmentManager().beginTransaction()
.add(R.id.item_detail_container, fragment)
.commit();
}
}