Utilizzando la risposta di una classe in un altro
-
28-09-2019 - |
Domanda
Ho creato un'applicazione dove avevo esteso di un'attività ed ha ottenuto la risposta dal servizio Web utilizzando con successo l'AsyncTask, Ora voglio fare il JSON di analisi della risposta ricevuta in un'altra classe diversa nell'attività principale.
Come può farlo? Come si utilizza la risposta ricevuta del Main Activity in una classe separata perché nella classe successiva voglio solo fare il parsing utilizzando la risposta ottenuta dalla Classe principale.
Qualcuno può per favore mi dia una risposta di questo!
Grazie, david
Soluzione
E 'possibile inviare il valore di un'altra classe passando al suo costruttore, o passando come argomenti di funzione.
O se si desidera passare il valore alla classe AsyncTask
public class abc extends Activity {
new AsynctaskClassName.execute(response);
}
E l'AsyncTask sarà
public class AsynctaskClassNameextends AsyncTask <String, String, String> {
protected Z doInBackground(String... res){
...
response = res[0]
...
}
O, per passare ad un altro valore di intenti, la sua migliore per passare da
Intent.putExtra("response", response);
e letto da
Bundle extras = getIntent().getExtras();
String response = extras.getString("response");
Altri suggerimenti
Si può semplicemente creare una nuova classe
public class Parser
{
public static String rawJSON;
....
}
Ora nel tuo AsyncTask semplicemente memorizzare risposta JSON in Parser.rawJSON come questo
protected Z doInBackground(X...x){
...
Parser.rawJSON=responseFromServer(URL);
...
}
& si è fatto!