Plusieurs paramètres d'entrée pour la méthode execute() de AsyncTask
tout le monde. J'ai lu sur l'android site de la description de l'excute() de AsyncTask:
public final AsyncTask<Params, Progress, Result> execute (Params... params)
Mais dans mon projet, j'ai lu le code comme ceci:
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]);
}
Quelqu'un peut me dire pourquoi il y a 2 paramètres d'entrée pour la execute() méthode?
Puisque, selon le cahier des charges, il devrait y avoir un seul paramètre d'entrée.
Merci d'avance!
OriginalL'auteur Mathieu | 2011-02-08
Vous devez vous connecter pour publier un commentaire.
Lire
Params... params
commeParams[] params
. Vous pouvez envoyer autant de paramètres que vous le souhaitez.eu: passer plusieurs doInBackground(String... params): la tâche.execute(uri, nom d'utilisateur, mot de passe, etc...); obtenir: le retour de la Connexion.getResponseXML(params[0], params[1], params[2], etc...); duh
OriginalL'auteur Boris Pavlović
Voici comment je l'ai eu à passer plusieurs paramètres. Vous pourriez faire de Boris décrit, mais que faire si vous passer les différents types?
Tout d'abord, créez votre AsyncTask que la normale, mais à l'intérieur de celle-ci, créez un constructeur:
Maintenant, sur votre événement ou quoi que ce soit d'autre, quand vous voulez le coup d'envoi de l'action que vous appelez votre AsyncTask et passer autant de paramètres que vous souhaitez.
Vous pouvez voir que le fait d'appeler "StartTask" et en passant le constuctor paramètres assigner les variables à l'intérieur de la StartTask classe.
OriginalL'auteur Antebios