Comment faire pour retourner la valeur de async task android

J'ai créé une tâche asynchrone à appeler mon serveur pour obtenir des données de la base de données.
J'ai besoin de traiter le résultat retourné depuis le serveur http appel.
À partir de mon activité que j'appelle la async tâche dans de nombreux endroits. donc je ne peux pas utiliser la variable de membre pour accéder au résultat. est-il possible de faire?

public Result CallServer(String params)
{

    try
    {
    new MainAynscTask().execute(params);
    }
    catch(Exception ex)
    {
        ex.printStackTrace();
    }
    return aResultM;//Need to get back the result

}  

    private class MainAynscTask extends AsyncTask<String, Void, Result> {


    @Override
    protected Result doInBackground(String... ParamsP) {    
        //calling server codes
        return aResultL;
    }       
    @Override
       protected void onPostExecute(Result result) {
          super.onPostExecute(result);
          //how i will pass this result where i called this task?
       }
Pourquoi ne pas appeler une méthode qui traite de la valeur, comme indiqué dans le stackoverflow.com/a/9458274/1021640?
éventuellement en double Async et Async
La bonne façon est d'utiliser les protocoles

OriginalL'auteur Vignesh | 2013-04-01