2012-02-05 16 views
0

私はこれは私が私の活動からこのクラスを呼び出す方法ですTXTファイルをダウンロードするためにAsyncTask

class RetreiveFeedTask extends AsyncTask<String, Void,String> { 

    @Override 
    protected ArrayList<Item> doInBackground(String... params) { 
    try{ 
     URL url = new URL("myurl"); 
     InputStream is = url.openStream(); 
     BufferedReader in = new BufferedReader(new InputStreamReader(is)); 
     String str; 
     while ((str = in.readLine()) != null){ 
     } 

     in.close(); 
     return str; 
    } 
    catch (MalformedURLException e){} 
    catch (IOException e){} 

    return null; 

} 

protected void onPostExecute(Strin str) { 

} 

をこのクラスを使用しています:

new RetreiveFeedTask().execute(); 

そして私があるかどうかを知りたいですこの結果を呼び出しを行うアクティビティに渡す方法です。

答えて

2

AsyncTaskのコンストラクタで渡すリスナーを作成できます。 onPostExecuteでは、このリスナーを呼び出すだけです。

そのような何か:

public interface OnTaskCompleteListener { 
    void onTaskComplete(String result); 
} 

protected void onPostExecute(String str) { 
    onTaskCompleteListener.onTaskComplete(str); 
}