Autore Topic: AsyncTask e Activity  (Letto 624 volte)

Offline Reinhard

  • Utente junior
  • **
  • Post: 85
  • Respect: +16
    • Google+
    • rspisser
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5 Lollipop 5.1
  • Play Store ID:
    rspisser
  • Sistema operativo:
    Windows 7
AsyncTask e Activity
« il: 01 Febbraio 2012, 13:46:54 CET »
0
Ciao,

ci sono alcuni aspetti del AsyncTask che non mi sono chiari.

L'activity di ricerca del mio programma prevede la ricerca dei dati su un server remoto e poi la visualizzazione in una listview. Per fare questo, dalla Activity lancio un AsyncTask che mi recupera le informazioni e poi aggiorna l'interfaccia utente:

Codice (Java): [Seleziona]
                SearchAsyncTask asyncTask = new SearchAsyncTask();
                asyncTask.execute(actual_latitude, actual_longitude);


Avrei bisogno dei dati recuperati dal AsyncTask anche all'interno della Activity; ad esempio per salvarli in onSavedInstanceState durante un destroy - in questo modo eviterei di dover ricaricare i dati dal server quando l'utente ruota lo schermo. Però non ho capito se si può fare e se si può, come fare.

Grazie

Reinhard

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:AsyncTask e Activity
« Risposta #1 il: 01 Febbraio 2012, 14:03:50 CET »
+1
Qualcosa del genere?

Codice (Java): [Seleziona]
class TuaActivity extends Activity{

        private Tipo mData;


        public void setData(Tipo data){
                mData = data;
        }

}

....


class SearchAsyncTask extends AsyncTask<Void,Tipo2,Tipo>{

        TuaActivity mActivity;

        public SearchAsyncTask(TuaActivity activity){
                mActivity = activity;
        }


        protected Tipo doInBackground(Tipo2... param) {
                Tipo data;
                //Fai quello che devi e alla fine lo assegni a data
                return data;   
        }

        protected void onPostExecute(Tipo result) {
                mActivity.setData(result);
        }

}

Offline Reinhard

  • Utente junior
  • **
  • Post: 85
  • Respect: +16
    • Google+
    • rspisser
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5 Lollipop 5.1
  • Play Store ID:
    rspisser
  • Sistema operativo:
    Windows 7
Re:AsyncTask e Activity
« Risposta #2 il: 01 Febbraio 2012, 14:32:17 CET »
0
Ah non ci avevo proprio pensato. Adesso provo!

grazie mille

Reinhard