Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desarrollo Android Altavoz

Rodrigo Amaro
March 18, 2013
25

Desarrollo Android Altavoz

Rodrigo Amaro

March 18, 2013
Tweet

Transcript

  1. Proceso de desarrollo • JP recibe requerimientos de la aplicación

    • Definir factibilidad técnica/tiempos estimados • Generar wireframes (acorde a patrones) • Generar AR lunes, 18 de marzo de 13
  2. Proceso de desarrollo • Desarrollo de la aplicación • Stack

    de micro tareas obtenidas del AR, ordenadas por prioridad • Reuniones semanales/diarias • Entregas funcionales semanales lunes, 18 de marzo de 13
  3. Consideraciones AR Escoger y soportar la versión mínima de Android

    Data collected during a 14-day period ending on March 4, 2013 http://developer.android.com/about/dashboards/index.html lunes, 18 de marzo de 13
  4. Consideraciones AR Definir requerimientos no funcionales básicos Sistemas con ancho

    de banda limitado - Permitir uso offline de las apps Sistemas con recursos limitados - Minimizar uso de memoria/cpu - Reutilizar espacio! (memoria, archivos, etc...) Llevar procesos costosos a WebServices lunes, 18 de marzo de 13
  5. Consideraciones Wireframes Diseñar de acuerdo a patrones de diseño establecidos

    Navegación consistente con la plataforma ¡No clone la interfaz de iPhone! lunes, 18 de marzo de 13
  6. Desarrollo ¿Como empezar el desarrollo? 1.-Descargar Eclipse 2.-Descargar el Android

    SDK 3.-Descargar plugin ADT para Eclipse 4.-Descargar el SDK tools e imágenes de alguna versión de Android mediante el SDK manager http:// developer.android.com/sdk/installing/adding-packages.html 5.-Realizar un HelloWorld! http://developer.android.com/training/ basics/firstapp/index.html lunes, 18 de marzo de 13
  7. Desarrollo ¿Como empezar el desarrollo? 6,7,8,9... ¡LEA CÓDIGO Y PROGRAME!

    Ayuda: http://developer.android.com/training/index.html https://github.com/ http://www.youtube.com/ -> Google IO 2012/2011/2010 Android Sessions http://stackoverflow.com/ lunes, 18 de marzo de 13
  8. Desarrollo Recomendaciones: - Uso de fragmentos - Entender ciclo de

    vida de fragmentos y actividades lunes, 18 de marzo de 13
  9. Desarrollo Recomendaciones: - Use hebras (y cuidado con las carreras

    críticas) - Usar componentes especializados de Android (por sobre versiones legacy de java) - Services - BroadcastReceiver - ContentProviders - Handlers - AsyncTask lunes, 18 de marzo de 13
  10. Desarrollo Recomendaciones: - Use SQLite - Uso de BitmapCache /

    DiskLRU / sistemas de caché en general - No re-inventar la rueda! (use librerias) - android-support - ActionBarSherlock http://actionbarsherlock.com - ViewPagerIndicator http://viewpagerindicator.com - PullToRefresh https://github.com/chrisbanes/Android-PullToRefresh - etc... lunes, 18 de marzo de 13
  11. Asegurando la calidad • Crear pruebas unitarias para módulos críticos

    • Seguir patrones de diseño OOP • Monitorear bugs y uso de la aplicación lunes, 18 de marzo de 13
  12. Características • Reproducción de video HLS y manejo de tiempo

    • Selección de tiempo mediante timeline • Compartir en facebook/twitter • Visualizar programa actual emitiendo • Muestra de preview para versión de video lunes, 18 de marzo de 13
  13. Tecnologías y librerías • Fragmentos : Para separar lógica del

    reproductor, programas, comentarios • SQlite: Manejo de favoritos • Services: Para manejo del stream en background • JsonParser: Para manejo de datos de los WS • FacebookSDK, TwitterSDK : Manejo de autenticación en las redes sociales lunes, 18 de marzo de 13
  14. Tecnologías y librerías • ViewPagerIndicator • PullToRefresh: • GoogleAnalytics •

    AndroidAsyncHttp • BitlyJ • Bugsense lunes, 18 de marzo de 13
  15. A futuro • Mejorar workflow para crear nuevos player para

    clientes • Reproducción de HLS mediante código nativo en C (para android < 3.0) • Control de reproducción en barra de notificaciones • Mejoras en performance de timeline • Widget en escritorio con programa actual • ¿Ideas? lunes, 18 de marzo de 13