Несколько входных параметров для метода execute () для AsyncTask

все. Я прочитал на сайте android описание excute () для AsyncTask:

public final AsyncTask<Params, Progress, Result> execute (Params... params)

Но в рамках моего проекта я прочитал код следующим образом:

 private static final int JSON = 0; private static final int NAME = 1; @Override protected String doInBackground(String... strData) { FileOutputTask task = new FileOutputTask(context); task.execute(strData[JSON], strData[NAME]); } 

Кто-нибудь может сказать мне, почему есть два входных параметра для метода execute () ?

Поскольку согласно спецификации, должен быть только один входной параметр.

Заранее спасибо!

Прочитайте параметры Params... params как Params[] params . Вы можете отправить столько параметров, сколько хотите.

Вот как я получил его для передачи нескольких параметров. Вы могли бы это сделать, как описал Борис, но что, если вы проходите разные типы?

Во-первых, создайте свою AsyncTask как обычно, но внутри нее создайте конструктор:

  private class StartTask extends AsyncTask<Context, Void, Boolean> { private ProgressDialog progress; private String strAction=""; public StartTask(ProgressDialog progress, String Action) { this.progress = progress; this.strAction = Action; } } 

Теперь, на вашем мероприятии или что-то еще, когда вы хотите начать действие, вы вызываете свою AsyncTask и передаете столько параметров, сколько хотите.

  ProgressDialog progress = new ProgressDialog(this); progress.setMessage("Loading..."); String strAction = "this_is_a_string"; new StartTask(progress, strAction).execute(this); 

Вы можете видеть, что вызов «StartTask» и передача параметров constuctor теперь назначают переменные в классе StartTask.

Intereting Posts
Предупреждение: для запроса без сеанса требуется токен, но отсутствует идентификатор приложения или токен клиента Озадачен значением пикселя в битмапе (предварительно умноженный цвет с помощью setPixel) Создание сервера уведомлений Android Как zipalign apk-файл в Windows Отправка сообщений OSC (open sound control) из приложения Android Как увеличить размер кучи приложения для Android? Geofencing: Ошибка HTTP-запроса при отправке через фоновый сервис. Дает UnknownHostException Android-приложение с базой данных постоянно «запускает / ожидает блокировку gc alloc» Проблема с Studio Studio 1.0.2 m2respository FindViewById в пользовательском представлении, чтобы найти дочерний вид Как отправить местоположение устройства на сервер при необходимости Как распечатать запрос, выполненный методом query () для android Как автоматическое изменение размера, совместимость, настройка размера экрана для всех устройств Android Расширенная реальность – использование только GPS Вход в Twitter / аутентификация в Android-фрагменте