Question

J'ai créé une application où j'avais étendu une activité et a obtenu la réponse du service Web avec succès en utilisant le AsyncTask, Maintenant, je veux faire le Json Parsing de cette réponse reçue dans l'autre classe autre que l'activité principale.

Comment faire? Comment puis-je utiliser la réponse reçue de l'activité principale dans une catégorie distincte parce que dans la classe suivante, je veux juste faire le parsing en utilisant la réponse obtenue de la classe principale.

Quelqu'un peut-il s'il vous plaît me donner une réponse de tout cela!

Merci, david

Était-ce utile?

La solution

Vous pouvez valeur envoyée à une autre classe en passant à son constructeur, ou passer comme des arguments de la fonction.

Ou si vous voulez passer la valeur à la classe AsyncTask

 public class abc extends Activity {

 new AsynctaskClassName.execute(response);      
 }

Et le AsyncTask sera

 public class AsynctaskClassNameextends AsyncTask <String, String, String> {
 protected Z doInBackground(String... res){  
 ...  
  response = res[0]  
 ...   
}

Ou passer la valeur à une autre intention, de son mieux de passer par

    Intent.putExtra("response", response);

et lu par

 Bundle extras = getIntent().getExtras();
 String response = extras.getString("response");

Autres conseils

Vous pouvez simplement créer une nouvelle classe

public class Parser
{
public static String rawJSON;
....
}

Maintenant, dans votre AsyncTask simplement stocker réponse JSON dans Parser.rawJSON comme ceci

protected Z doInBackground(X...x){
...
Parser.rawJSON=responseFromServer(URL);
...
}

& vous fait!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top