En utilisant la réponse d'une classe dans une autre
-
28-09-2019 - |
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
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!