AsyncTask - 等待其他 Asynctask 的执行
Posted
技术标签:
【中文标题】AsyncTask - 等待其他 Asynctask 的执行【英文标题】:AsyncTask - wait for execution of other Asynctask 【发布时间】:2020-09-18 16:15:16 【问题描述】:我试图制作一个程序,该程序将通过 HttpURLConnection 使用 AsyncTask 获取数据,但是为了获取我需要登录的数据,所以我需要登录然后获取数据。为了做一个好的OOP,我不能制作类似的程序来做同样的事情。我该如何处理?这是我所做的一个例子:
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setRequestProperty("content-type","application/json");
httpURLConnection.setRequestProperty("user-agent","armon-api-android-client");
OutputStream outputStream = httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
bufferedWriter.write(requestParams.toString());
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
.
.
.
【问题讨论】:
【参考方案1】:您可以在创建 AsyncTasks 时覆盖 onPostExecute 函数
loginAndGetData = new RawRequest()
@Override
protected void onPostExecute(String res)
//DO YOUR JOB
RawRequest newTask = new RawRequest();
newTask.execute("get data params");
loginAndGetData.execute("login params");
【讨论】:
以上是关于AsyncTask - 等待其他 Asynctask 的执行的主要内容,如果未能解决你的问题,请参考以下文章