2012-04-06 9 views
1

次のクラス(AsyncTask)を使用して8つの異なるURLから情報を取得しています。取得したデータを8要素の配列に格納したい(データを取得するURLごとに1つずつ)。複数のURLからデータを取得して単純な配列に格納するにはどうすればよいですか?

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++; 
    } 

そして、このようにそれを呼び出す:私は明らかになっています問題は、私のAsyncTaskクラスは、単一の「応答」を返すように、すべての情報は、[0]配列に格納されていることである

getDataClass getData = new getDataClass(); 
    getData.execute(description_links); 

文字列。

私が知りたいことは、これの多くの例が見つからないため、これを行うためのよりエレガントな方法と、他の経験豊富なコーダーがこれについてどうやっていくのかです。

お返事ありがとうございました。

答えて

1
as my AsyncTask class returns a single "response" string. 

=>そうではありません。 AsyncTaskは文字列以外のArrayListも返すことができるためです。

ご確認ください。AsyncTask's Generic type

+0

ありがとうございます。これを実装するにはどうすればいいですか?または、おそらくリンク? – Eugen

+0

リンクを確認してください。 –

+0

ありがとう! :D – Eugen

関連する問題