Este documento ofrece consejos y recomendaciones para desarrollar aplicaciones Android. Aborda temas como ejecutar tareas en hilos separados para evitar bloqueos, usar AsyncTask, handlers y ThreadPoolExecutor. También recomienda el uso de parcelables, bundles, listviews, cacheo, providers y pruebas automatizadas.
2. Mi gran amigo ANR
• Application Not Responding
• Cada cosa se debe ejecutar en su hilo
• La ventana más vista en Android
• “Loggeando” que es gerundio
• Bugsense
• http://www.bugsense.com/
3. No sin mi hilo
• Cada cosa se debe ejecutar en su hilo
• Bloqueando el UI Thread
• Pinta donde debes
• Handler
• runOnUI
• AsyncTask synchronized
• ThreadPoolExecutor de nota
• http://developer.android.com/guide/topics/funda
mentals/processes-and-threads.html
4. Salvar al soldado Parcelable
• Qué fue de mis datos de la activity
• onSaveInstanceState tu gran ayuda
• Piensa en parcelable
• Bundle por todos los lados?
matthewjamestaylor.com
5. La listview de schindler
• Reutilización de vistas en los adapters
• NotifyChanges
• Headers y Footers
• mergeAdapter
• http://commonsware.com/cwac
http://www.androidpatterns.com/
6. Providers
• SQL-lite no es tu solución para todo
• El acceso a disco es lento, lento, lento
• Cachea, cachea
7. El Manifest del diablo
• Solucionará un montón de tus problemas
• android:taskAffinity un ejemplito
• Extendiendo los estilos
• Android porque no me dejas hacer esto!!
8. Con los null pointers en los talones
• Una gran mayoría de errores son “null pointers”
• Tener en mente el ciclo vida de activities
• Android el asesino de objetos
• Roboguice dependency injection
• http://code.google.com/p/roboguice/
9. Memories de Africa
• La otra gran mayoria
• Leer las cabeceras de las imágenes
• Cargar escalando.
• Pool de imagenes SoftReference y WeakReference (danger!)
• No viene al cuento pero salvad en la SD insensatos
• setImageBitmap vs setImageUri
• This does Bitmap reading and decoding on the UI thread, which can
cause a latency hiccup. If that's a concern, consider using
setImageDrawable(Drawable) or setImageBitmap(Bitmap) and
BitmapFactory instead.
http://www.flickr.com/photos/m4calliope/
10. Versión imposible
• Todavía hay usuarios con 1.5 (Pa paaaaaaa)
• Reflexión y ClassForName
• Duplicando código desde …
11. Los Test Mosqueteros
• Hay que hacer pruebas automáticas
• Pruebas unitarias
• Robotium acceptance test
• http://code.google.com/p/robotium/