Maison >Java >javaDidacticiel >Comment puis-je renvoyer un résultat booléen à partir d'une AsyncTask sous Android ?

Comment puis-je renvoyer un résultat booléen à partir d'une AsyncTask sous Android ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-06 01:27:10745parcourir

How Can I Return a Boolean Result from an AsyncTask in Android?

Communication des résultats booléens d'AsyncTask

Arrière-plan

Une tâche asynchrone (AsyncTask) est souvent utilisée pour effectuer des opérations fastidieuses de traitement en arrière-plan. Cependant, lorsque vous devez renvoyer une valeur booléenne indiquant une connexion réussie, comment cela peut-il être réalisé ?

Implémentation de la solution

Pour renvoyer une valeur booléenne depuis AsyncTask, vous pouvez exploiter une interface pour définir une méthode pour recevoir le résultat. Voici comment :

  1. Définir une interface pour la gestion des résultats :
public interface MyInterface {
    public void myMethod(boolean result);
}
  1. Modifier l'AsyncTask :

Dans l'AsyncConnectTask, injectez l'interface en argument au constructeur.

public AsyncConnectTask(Context context, String address, String user,
        String pass, int port, MyInterface mListener) {
    mContext = context;
    ...
    this.mListener  = mListener;
}
  1. Passez l'interface à l'AsyncTask :

Lors de l'initialisation de la tâche, fournissez une implémentation de l'interface pour gérer le résultat booléen.

AsyncConnectTask task = new AsyncConnectTask(SiteManager.this,
                        _address, _username, _password, _port,  new MyInterface() {
    @Override
    public void myMethod(boolean result) {
        if (result == true) {
            Toast.makeText(SiteManager.this, "Connection Succesful",
            Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(SiteManager.this, "Connection Failed:" + status, Toast.LENGTH_LONG).show();
        } 
    }
});
  1. Exécuter le AsyncTask :

Lancez la tâche comme d'habitude :

task.execute();

Cette approche garantit que le résultat, qu'il s'agisse d'une connexion réussie ou d'un échec, est communiqué via l'interface et s'exécute sur le fil de discussion de l'interface utilisateur dans la méthode onPostExecute.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn