そのため、リクエストをサーバーに送信してレスポンスを取得するコードがあります。応答は、サーバーに送信するパラメーターのセットによって異なります。しかし、何らかの理由で同じ結果が得られました。コードは次のとおりですsendDashboardRequest
。2 つの異なるパラメーターのセット を呼び出します。
LinkedHashMap<String, Object> serverParameters = new LinkedHashMap<String, Object>();
serverParameters.put("user_id", result.get("user_id"));
serverParameters.put("limit", Integer.valueOf(1000).toString());
serverParameters.put("type", Integer.valueOf(1).toString());
sendDashboardRequest(serverParameters);
serverParameters.put("type", Integer.valueOf(2).toString());
sendDashboardRequest(serverParameters);//Executes only this AsyncTask twice!
sendDashboardRequest
新しい AsyncTasks を開始するメソッドのコードは次のとおりです。
public void sendDashboardRequest(LinkedHashMap<String, Object> params) {
new AsyncTask<LinkedHashMap<String, Object>, Void, LinkedHashMap<String, Object>>()
{
NetworkOp lowLevelOps = new NetworkOp();
@Override
protected LinkedHashMap<String, Object> doInBackground (LinkedHashMap<String, Object>... params)
{
return lowLevelOps.executeCommand(DASHBOARD_COMMAND, params[0]);
}
protected void onPostExecute(LinkedHashMap<String, Object> result)
{
//And here I gave the same result!But parameters which I send to the server are different!
}
}.execute(params);
}
最も興味深いのは、同じ本体を持つ 2 つの異なるメソッドを作成し、それぞれを異なるパラメーター セットに対して呼び出すと、すべてがうまく機能し、2 つの異なる AsyncTasks が開始されることです。