1

この投稿に従って、Http Async Request: HttpRequestをセットアップしました。

だから、今、私はnew DownloadTask().execute("http://www.google.com/"); この要求をするために: を呼び出します。

さまざまな通話を管理するにはどうすればよいですか? 例えば:

new DownloadTask().execute("http://www.google.com/");
new DownloadTask().execute("http://www.facebook.com/");
new DownloadTask().execute("http://www.twitter.com/");

そして、異なる結果がありますか?

4

2 に答える 2

2

にもう 1 つの引数を渡しますAsyncTask。タスクに対応するいくつかの定数を作成します。

new DownloadTask().execute("http://www.google.com/", DownloadTask.ID_ASYNC1);
new DownloadTask().execute("http://www.facebook.com/", DownloadTask.ID_ASYNC2);
new DownloadTask().execute("http://www.twitter.com/", DownloadTask.ID_ASYNC3);

内部AsyncTaskでは、この ID を使用して、呼び出されているリクエストを識別します。

private class DownloadTask extends AsyncTask<String, Void, String> {
    //Variable for storing the req id
    private int id;

    //Constants corresponding to your tasks
    public static int ID_ASYNC1 = 0;
    static static int ID_ASYNC1 = 0;
    static static  int ID_ASYNC1 = 0;

    @Override
    protected String doInBackground(String... params) {
        id = params[1]);
        //your code
    }

    @Override
    protected void onPostExecute(String result) {
        if(id == ID_ASYNC1){
            //Do your task #1
        } else if(id == ID_ASYNC2){
            //Do your task #2
        }
    }
}
于 2016-05-26T12:17:28.253 に答える