パブリッククラスHttpHelperはAsyncTaskを拡張します>{ArrayListlist = new ArrayList();
@Override
protected ArrayList<String> doInBackground(String... urls) {
// TODO Auto-generated method stub
String result="";
for(String url:urls)
{
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
try
{
HttpResponse response = client.execute(request);
InputStream in = response.getEntity().getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line = null;
StringBuffer sb = new StringBuffer();
while((line = br.readLine())!=null)
{
sb.append(line+"\n");
}
in.close();
result = sb.toString();
String pageSource = new String(result);
int startindex = pageSource.indexOf("pdf_doc/");
String str="";
String []temp;
while(startindex !=-1)
{
int endindex = pageSource.indexOf(".pdf",startindex);
str = pageSource.substring(startindex+8, endindex);
String delimiter = "%20";
String value="";
temp = str.split(delimiter) ;
for(int i=0;i<temp.length;i++)
{
value= value+temp[i]+" ";
}
list.add(value);
startindex = pageSource.indexOf("pdf_doc/",endindex);
}
}
catch(Exception ex)
{
Log.e("Error in HTML Reading",ex.getMessage());
}
}
return list;
}
@Override
protected void onPostExecute(ArrayList<String> result) {
// TODO Auto-generated method stub
// Here i want to start new UI that use the result of AsyncTask
}
}
このコードでは、AsyncTaskを介してサーバーからデータを読み取り、結果は新しいUIに表示されるはずです。つまり、onPostExecute()から新しいアクティビティを開始します。