我已經實現了一種將結果從onPostExecute
返回到我的主要活動的方法。我想知道這是否是我做的正確的事情,是否還有改進的機會,如果這不是最好的方法,那麼最好的方法是什麼?從AsyncTask獲取結果給調用者類的最佳方法
這是我做了什麼:
public class MainClass implements AsyncResponse {
private MyAsyncTask asyncTask;
public MainClass() {
asyncTask = new MyAsyncTask();
asyncTask.asyncResponse = this;
}
public void startTask({
asyncTask.execute("string");
}
@Override
public void processDone(String res) {
// got response in MainClass from onPostExecute
}
private class MyAsyncTask extends AsyncTask<String, String, String> {
protected AsyncResponse asyncResponse = null;
@Override
protected String doInBackground(String... urls) {
return "some processed string";
}
@Override
protected void onPostExecute(String res) {
this.asyncResponse.processDone(res);
}
}
}
這裏的AsyncResponse
接口:
public interface AsyncResponse {
void processDone(String res);
}
我想在處理速度方面,一個普通的Android移動設備上,這會不會知道一個好方法,如果不是,我該如何改進它,使其成爲一個好方法?
感謝。
但我可以通過分離asynctask類並在其他類中使用它來重新使用它。那我必須有一個界面對嗎? –