次のクラス(AsyncTask)を使用して、8つの異なるURLから情報を取得しています。取得したデータを8つの要素の配列に格納したいと思います(データを取得するURLごとに1つ)。
private class getDataClass extends AsyncTask<String, Void, String>{
protected String doInBackground(String...urls){
String response = "";
for(String url : urls){
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
try{
HttpResponse execute = client.execute(httpGet);
InputStream content = execute.getEntity().getContent();
BufferedReader buffer = new BufferedReader(new InputStreamReader(content));
String s = "";
while((s = buffer.readLine()) != null){
response += s;
}
}catch(Exception e){
e.printStackTrace();
}
}
return response;
}
protected void onPostExecute(String result){
Resources.descriptionArray[descriptionArray_Counter] = Html.fromHtml(result).toString();
descriptionArray_Counter++;
}
そしてそれをこのように呼びます:
getDataClass getData = new getDataClass();
getData.execute(description_links);
私が明らかに得ている問題は、AsyncTaskクラスが単一の「応答」文字列を返すため、すべての情報がarray[0]に格納されることです。
私が知りたいのは、これの例をあまり見つけていないので、これを行うためのよりエレガントな方法と、他のより経験豊富なコーダーがこれをどのように行うかということです。
お時間を割いていただき、誠にありがとうございます。