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
Libérer: 2024-12-06 01:27:10
original
771 Les gens l'ont consulté

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);
}
Copier après la connexion
  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;
}
Copier après la connexion
  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();
        } 
    }
});
Copier après la connexion
  1. Exécuter le AsyncTask :

Lancez la tâche comme d'habitude :

task.execute();
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal