pegándose con android
DESCRIPTION
Android es el gran competidor de Apple cuando se habla de sistemas operativos móviles. Ambos han sabido explotar la pasión por el desarrollo de aplicaciones, aunque el sistema basado en Linux, lleva cierta ventaja en el mercado. En este taller, podrás desarrollar una aplicación partiendo desde cero. En él, se explicarán las principales facilidades de la plataforma para realizar a través del mecanismo de los Intents tareas como escanear códigos de barras, hacer fotografías, grabar vídeo o audio...Ponente: Jorge Juan Barroso trabaja de Senior Developer en el departamento de Aplicaciones Móviles de Tuenti. Ha participado en los desarrollos de las aplicaciones de J2ME, Blackberry y Android, centrándose en la actualidad en ésta última.TRANSCRIPT
Pegándose con Android
Jorge J BarrosoSenior Client Apps [email protected] twitter: @flipper83
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/
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/fundamentals/processes-and-threads.html
Salvar al soldado Parcelable
matthewjamestaylor.com
• Qué fue de mis datos de la activity• onSaveInstanceState tu gran ayuda• Piensa en parcelable• Bundle por todos los lados?
La listview de schindler
• Reutilización de vistas en los adapters• NotifyChanges• Headers y Footers• mergeAdapter
• http://commonsware.com/cwac
http://www.androidpatterns.com/
Providers
• SQL-lite no es tu solución para todo• El acceso a disco es lento, lento, lento• Cachea, cachea
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!!
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/
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/
Versión imposible
• Todavía hay usuarios con 1.5 (Pa paaaaaaa)• Reflexión y ClassForName• Duplicando código desde …
Los Test Mosqueteros
• Hay que hacer pruebas automáticas• Pruebas unitarias• Robotium acceptance test
• http://code.google.com/p/robotium/
Dudas y Preguntas
¿Te animas?http://jobs.tuenti.com