Evitare aggiornamenti troppo frequenti per le view

In Android per evitare di sovraccaricare di lavoro il thread principale, la maggior parte delle operazioni dovrebbe essere svolta in un thread secondario o in una classe che estende AsyncTask; successivamente i risultati finali sono riportati in una qualche view per essere mostrati all’utente utilizzando Activity.runOnUiThread(Runnable) o View.post(Runnable) (vedi Processes and Threads) o Handler.handleMessage() (vedi Communicating with the UI Thread). Leggi tutto “Evitare aggiornamenti troppo frequenti per le view”

Ricreare oggetti complessi alla riapertura di una activity

In un’applicazione android è possibile che una activity sia creata e poi distrutta, ad esempio quando l’utente apre un’altra activity o quando preme il tasto back, in un secondo tempo l’utente riapre la stessa activity che è ricreata utilizzando i dati salvati prima della precedente distruzione dell’activity.
I dati sono salvati in un oggetto Bundle nel metodo onSaveInstanceState e recuperati successivamente nel metodo onRestoreInstanceState (vedi Recreating an Activity).
La classe Bundle mette a disposizione diversi metodi setter and getter per salvare e recuperare dati come getInt e setInt per gli interi e metodi analoghi per altri tipi di dati primitivi, stringhe ed array a una dimensione.
In questo articolo riporto varie modalità per salvare e recuperare oggetti più complessi come ad esempio il seguente CustomObject: Leggi tutto “Ricreare oggetti complessi alla riapertura di una activity”

Fermare i thread

Far partire un thread è molto semplice in java, dopo averlo creato è sufficiente usare il metodo start(), ad esempio:

dove MyRunnable è una classe che implementa l’interfaccia Runnable sovrascrivendo il metodo run().
Leggi tutto “Fermare i thread”