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

È stato utile?

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!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top