Buenas prácticas en el desarrollo Android - Imaginática 2013
-
Upload
rafael-vazquez-sanchez -
Category
Technology
-
view
1.471 -
download
3
description
Transcript of Buenas prácticas en el desarrollo Android - Imaginática 2013
![Page 1: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/1.jpg)
Buenas prácticas en el desarrollo Android
![Page 2: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/2.jpg)
¿Quiénes somos? Androcode.es
![Page 3: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/3.jpg)
![Page 4: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/4.jpg)
![Page 5: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/5.jpg)
![Page 6: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/6.jpg)
Cómo desarrollar aplicaciones para Android
Principios básicos
![Page 7: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/7.jpg)
Principios básicos
Java y Dalvik
Activities, Services, Intents, ...
Recursos (la clase R)
![Page 8: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/8.jpg)
Cómo desarrollar buenas aplicaciones para Android
![Page 9: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/9.jpg)
Principios de diseño
Encántame
Simplifica mi vida
Hazme asombroso
![Page 10: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/10.jpg)
Principios de diseño
Encántame
Simplifica mi vida
Hazme asombroso
![Page 11: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/11.jpg)
Encántame
Sorprende al usuario
Los objetos reales son más divertidos
Permite la personalización
Aprende del usuario
![Page 12: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/12.jpg)
Principios de diseño
Encántame
Simplifica mi vida
Hazme asombroso
![Page 13: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/13.jpg)
Simplifica mi vida
Sé simple, imágenes mejor que palabras
Muestra sólo lo que necesita el usuario
Decide por él, pero déjale la última palabra
No pierdas al usuario ni sus cosas
Interrumpe sólo si es necesario
![Page 14: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/14.jpg)
Principios de diseño
Encántame
Simplifica mi vida
Hazme asombroso
![Page 15: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/15.jpg)
Hazme asombroso
Proporciona trucos
Sé educado y claro
Divide tareas complejas
Haz tú el trabajo pesado
Las cosas importantes hazlas rápido
![Page 16: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/16.jpg)
Patrones de diseño
![Page 17: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/17.jpg)
Action Bar
De los elementos más importantes
Consistente con el sistema
Recoge acciones comunes
Ayuda a la navegación
![Page 18: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/18.jpg)
Action Bar
1. Icono o logo
2. Control de vista / Título
3. Action Items
4. Menú
![Page 19: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/19.jpg)
Action Bar
![Page 20: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/20.jpg)
Up vs Back
![Page 21: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/21.jpg)
Compatibilidad
Las teclas hardware desaparecen, pero entonces...
![Page 22: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/22.jpg)
Compatibilidad
¿Y qué ocurre con los móviles con teclas físicas?
![Page 23: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/23.jpg)
Pulsar
Mantener pulsado
Deslizar
Arrastrar
Doble pulsación
Pellizcar
Gestos
![Page 24: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/24.jpg)
Pulsar
Mantener pulsado
Deslizar
Arrastrar
Doble pulsación
Pellizcar
Gestos
![Page 25: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/25.jpg)
Pulsar
Mantener pulsado
Deslizar
Arrastrar
Doble pulsación
Pellizcar
Gestos
![Page 26: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/26.jpg)
Pulsar
Mantener pulsado
Deslizar
Arrastrar
Doble pulsación
Pellizcar
Gestos
![Page 27: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/27.jpg)
Pulsar
Mantener pulsado
Deslizar (para desechar)
Arrastrar
Doble pulsación
Pellizcar
Gestos
![Page 28: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/28.jpg)
Pulsar
Mantener pulsado
Deslizar
Arrastrar
Doble pulsación
Pellizcar
Gestos
![Page 29: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/29.jpg)
Pulsar
Mantener pulsado
Deslizar
Arrastrar
Doble pulsación
Pellizcar
Gestos
![Page 30: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/30.jpg)
Pulsar
Mantener pulsado
Deslizar
Arrastrar
Doble pulsación
Pellizcar
Gestos
![Page 31: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/31.jpg)
Avisos fuera de contexto
Indicar acción en segundo plano
Acceso rápido a acciones
Parte fundamental de Android
Notificaciones
![Page 32: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/32.jpg)
Ojo con el flujo
¿Cuándo debo lanzar una?
Establece prioridad, sin ser egoísta 4.1+
Notificaciones enriquecidas 4.1+
Notificaciones sí... pero bien
![Page 33: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/33.jpg)
Antipatrones
Cómo NO hacer las cosas bien
![Page 34: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/34.jpg)
Botón atrás o salir
Controles brillantes
Iconos copiados
Pestañas en la parte baja
Flechas en elementos de listas
Interfaz iOS
![Page 35: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/35.jpg)
Botón atrás o salir
Controles brillantes
Iconos copiados
Pestañas en la parte baja
Flechas en elementos de listas
Interfaz iOS
![Page 36: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/36.jpg)
Botón atrás o salir
Controles brillantes
Iconos copiados
Pestañas en la parte baja
Flechas en elementos de listas
Interfaz iOS
![Page 37: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/37.jpg)
Botón atrás o salir
Controles brillantes
Iconos copiados
Pestañas en la parte baja
Flechas en elementos de listas
Interfaz iOS
![Page 38: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/38.jpg)
Botón atrás o salir
Controles brillantes
Iconos copiados
Pestañas en la parte baja
Flechas en elementos de listas
Interfaz iOS
![Page 39: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/39.jpg)
Botón atrás o salir
Controles brillantes
Iconos copiados
Pestañas en la parte baja
Flechas en elementos de listas
Interfaz iOS
![Page 40: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/40.jpg)
Botón atrás o salir
Controles brillantes
Iconos copiados
Pestañas en la parte baja
Flechas en elementos de listas
Interfaz iOS
![Page 41: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/41.jpg)
o No abuses de los diálogos o Muchos casos son evitables o De carga bloqueantes o De error o De promoción o Toasts
Diálogos
![Page 42: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/42.jpg)
o No abuses de los diálogos o Muchos casos son evitables o De carga bloqueantes o De error o De promoción o Toasts
Diálogos
![Page 43: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/43.jpg)
o No abuses de los diálogos o Muchos casos son evitables o De carga bloqueantes o De error o De promoción o Toasts
Diálogos
![Page 44: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/44.jpg)
o No abuses de los diálogos o Muchos casos son evitables o De carga bloqueantes o De error o De promoción o Toasts
Diálogos
![Page 45: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/45.jpg)
o No abuses de los diálogos o Muchos casos son evitables o De carga bloqueantes o De error o De promoción o Toasts
Diálogos
![Page 46: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/46.jpg)
Consecuencias significantes Puede darle por error y no puede deshacerse
¿Cuándo usar diálogos?
![Page 47: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/47.jpg)
Lo que no se ve
Más que buena
![Page 48: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/48.jpg)
No todo es interfaz
Estar al día
Ser adivina
Estar adaptada
Comportarse suavemente
![Page 49: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/49.jpg)
Cómo no agotar la batería
Push vs Pull
Más es menos
Adapta tus descargas
![Page 50: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/50.jpg)
Desarrollo
Consejos sobre cómo mejorar el desarrollo
![Page 51: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/51.jpg)
Entorno de desarrollo
Haznos un favor, usa Maven o Proceso de construcción estándar o Enfocado en la automatización o Convención sobre configuración o Gestión de dependencias o Pruebas
https://code.google.com/p/maven-android-plugin/
![Page 52: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/52.jpg)
Eclipse o IntelliJ IDEA
Eclipse o Soporte oficial o Más conocido
IntelliJ IDEA o Mejor soporte Maven o Utilidades para el desarrollo o Más estable
![Page 53: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/53.jpg)
Support Library
Fragment, ListFragment, DialogFragment FragmentManager, FragmentTransaction FragmentPagerAdapter, FragmentStatePagerAdapter, FragmentTabHost LoaderManager, Loader, AsyncTaskLoader, CursorLoader NotificationCompat, ShareCompat, TaskStackBuilder
FragmentCompat, FragmentPagerAdapter FragmentStatePagerAdapter, FragmentTabHost
v4
GridLayout v7
v13
![Page 54: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/54.jpg)
ActionBar Sherlock
![Page 55: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/55.jpg)
Más librerías
androidviews.net
theultimateandroidlibrary.com
![Page 56: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/56.jpg)
Ejecución de tareas
Threads y Handlers o Los viejos rockeros nunca mueren
AsyncTask o Probablemente la técnica más utilizada
o Ya no molan: ciclo de vida, ejecución en serie/paralelo, pérdidas de información,...
Loaders & Services o Yeah!
![Page 57: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/57.jpg)
Opciones básicas de almacenamiento
Shared Preferences o Perfectas para las preferencias o ¡Ojo! el resultado es un fichero XML, no abuses
Internal Storage o Privado para tu aplicación
External Storage o En principio visible para todos o Comprueba siempre el estado
![Page 58: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/58.jpg)
Opciones básicas de almacenamiento
Shared Preferences o Perfectas para las preferencias o ¡Ojo! el resultado es un fichero XML, no abuses
Internal Storage o Privado para tu aplicación
External Storage o En principio visible para todos o Comprueba siempre el estado
Nunca uses rutas absolutas
Usa los métodos que proporciona
android
![Page 59: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/59.jpg)
Bases de Datos
Soporte completo de SQLite pero... ¿Porqué escribir SQL?
ORMLite Hay muchas, muchísimas Si puedes usa ContentProvider o Patrón fachada
o Puedes "publicar" tus datos o Gestión de multi-hilo y conexiones
![Page 60: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/60.jpg)
Datos externos
Conectar o java.net o apache HTTP Client Consumir o org.json o org.w3c.dom o org.xml.sax
![Page 61: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/61.jpg)
Datos externos
Conectar o java.net o apache HTTP Client Consumir o org.json o org.w3c.dom o org.xml.sax
¡TRUCAZO! Para tratar HTML como XML
tagsoup ¡Viene incluido!
![Page 62: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/62.jpg)
Recursos
Recursos everywhere!
![Page 63: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/63.jpg)
Enlaces
developers.android.com/design developers.android.com/develop youtube.com/user/androiddevelopers
App Clini, ADiA, ...
android-app-patterns.com androidniceties.tumblr.com androcode.es/tag/herramientas/
![Page 64: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/64.jpg)
Enlaces
developers.android.com/design
![Page 65: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/65.jpg)
Enlaces
developers.android.com/develop
![Page 66: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/66.jpg)
Enlaces
androidniceties.tumblr.com
![Page 67: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/67.jpg)
Enlaces
android-app-patterns.com
![Page 68: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/68.jpg)
Enlaces
androcode.es/tag/herramientas/
![Page 69: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/69.jpg)
Libros
![Page 70: Buenas prácticas en el desarrollo Android - Imaginática 2013](https://reader033.fdocumento.com/reader033/viewer/2022042700/554d2c3fb4c905ca208b5364/html5/thumbnails/70.jpg)
¿Preguntas?