Quando si utilizza AsyncTaskLoader, come si aggiorna una barra di avanzamento che mostra lo stato di aggiornamento? Normalmente si aspetta che il callback venga rimosso una volta terminato, ma come eseguire gli aggiornamenti in esecuzione? Vuoi lasciare che il thread principale (ui) esegua il polling dei dati mentre viene impostato o qualcosa del genere?Aggiorna barra di avanzamento da AsyncTaskLoader?
Modifica: Sto parlando di AsyncTaskLoader, guarda la parte del caricatore. Ecco il link alla classe: http://developer.android.com/reference/android/content/AsyncTaskLoader.html
Voglio usarlo perché è il futuro :), so come farlo con AsyncTask.
Penso la maggior parte delle persone che raggiungono questa domanda utilizza un AsyncTaskLoader per leggere alcuni dati dalla rete. In tal caso, si prega di dare un'occhiata a RoboSpice: è molto più vicino alle vostre esigenze di un caricatore quando si tratta di networking: https://github.com/octo-online/robospice – Snicolas
Non abbiamo bisogno di sincronizzare 'mActivity 'Accedere? –
Questo è sbagliato. Loader viene creato solo la prima volta che si chiama initLoader, quindi se si ruota l'attività si perde il riferimento ad esso e con esso qualsiasi progresso. Il modo corretto per gestire ciò è di avere un metodo setActivity (...) sul caricatore che modifica il riferimento debole alla nuova attività e usa getSupportLoaderManager(). GetLoader (), lo gira sul caricatore, lo controlla non null e chiamare il metodo setActivity() su di esso prima di chiamare nuovamente initLoader(). Anche in setActivity() dovresti assicurarti che il caricatore sincronizzi il suo stato con la vista di avanzamento. –