Presentación en el marco del día mundial del Internet en la biblioteca Digital Telmex Nuevo Veracruz(17-05-2014).
Agenda
1) Fomentar el gusto por la programación
Android y móvil
2) Señalar la importancia de las
aplicaciones móviles en el mundo actual.
3) Proporcionar un panorama general
del ambiente y competencias necesarias
para desarrollar en plataforma Android
4) Mostrar un punto de inicio y ruta con
el cual puedan iniciarse en el desarrollo
móvil
2. 1) Fomentar el gusto por la programación
Android y móvil
2) Señalar la importancia de las
aplicaciones móviles en el mundo actual.
3) Proporcionar un panorama general
del ambiente y competencias necesarias
para desarrollar en plataforma Android
4) Mostrar un punto de inicio y ruta con
el cual puedan iniciarse en el desarrollo
móvil
Agenda
3. • Cada día más de 1 millón de
dispositivos son activados a
nivel mundial
• 300 partners de hardware,
software, y carrier
• 1.5 billiones de descargas al
mes y contando
• Monetizar en la forma en
que funcione mejor
¿Por qué Aprender Android?
85,5 % de las consultas a Internet
son hechas a través de un móvil
4. ¿Cuanto nos cuesta Desarrollar en Móvil?
• Licencia de desarrollador: $25 US
• Dispositivo: Nexus 7 (nuevo libre $315
US)
• Ordenador: $580 US (HP gama media)
• Total: $920 US
• Licencia de desarrollador: $110.07 US al año
• Dispositivo: iPhone 5 (nuevo libre $920.48)
• Ordenador: La gama más baja es Mac mini
(nuevo $892.96 US)
• Total: $1,923.51 US
¡Requiere 209% más inversión desararrollar iOS!
5. ¿Qué es Android?
• Sistema operativo para móviles Open Source personalizable
• La plataforma móvil más popular a nivel mundial
• Basado en Linux
• Diseñado para Dispositivos Móviles con pantalla táctil
• Se compone de apps que se ejecutan en un framework Java
sobre una Máquina Virtual llamada Dalvik
6. Vista de alto nivel del stack de software Android
Android SDK
Runtime
OpenGL, WebKit, Graphics,
SQLite, Media, FreeType
Drivers
8. Android Developer Tools
Podemos hacernos de esta herramienta de
varias formas:
• Paquete Bundle que incluye Eclipse +
ADT plugin + Android SDK Tools
• Si ya tenemos un IDE podemos descargar
ADT plugin + Android SDK Tools
• Android Studio. Basado en IntelliJ (Beta)
http://developer.android.com/sdk/index.html
9. ¿Y si no tengo un dispositivo físico ?
• ADT nos provee con
una herramienta que
nos permite emular
cualquier dispositivo y
cualquier versión del
sistema operativo, esta
herramienta es el AVD
Manager (Android
Virtual Device).
11. ¿Qué debo saber para
desarrollar en Android?
1. Java+Programación Orientada a
Objetos+XML
2. Reglas del Juego Android
++ Ciclo de Vida de la aplicación
++ Manejo de Recursos
3. Patrones de Diseño(Programación)
4. Diseño de Interfaces Gráficas, UX
++ Mi Android no es un iphone
++ Diseño limpios y pensar en cada pantalla de la app
como una Actividad que se puede realizar.
5. Deseable : Testeo de Aplicaciones
12. “Saber java no te hace un Programador Android,
pero como te ayuda”
13. ¿Cómo estructurar una aplicación Android?:
Actividades y Fragmentos
1. Android se basa en
la metáfora de lo que
hacemos en cada pantalla
es una actividad(Activity).
2. Fragmento (Fragment),
que es una porción del
comportamiento de una
actividad, dicho de otra ,
una porción de la interfaz
gráfica.
14.
15. No hay método Main
<activity android:name=”.MainActivity”
android:label=”@string/app_name”>
<intent-filter>
<action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.
LAUNCHER” />
</intent-filter>
</activity> AndroidManifest.xml
16. Ciclo de vida de las Aplicaciones Android
Estados de la App:
++ Resumed
++ Paused
++ Stopped
17. Organización de Recursos
• src: Archivos fuentes Java
• layout: Interfaces gráficas
• values: Valores (cadenas de texto)
• menu: Menús (contextuales o de la
barra de acción)
• drawable: Los drawables son
archivos de imágenes (png, jpg, gif,
etc) o animaciones XML
R
• layout
• values
• menu
• drawable
18. Todo se maneja por Intenciones
Intent.: Es un objeto de mensaje
que se utiliza para solicitar una
acción de otro componente de
aplicación:
• Iniciar una Actividad
• Iniciar un Servicio
• Entregar un Broadcast
Intent
Explicito Implicito
22. Diseño de Interfaz
• Los tabs van en la parte superior
• No hay botón de “Atrás” en la app, para
eso está el botón del sistema.
• Los iconos del Sistema no tien que ser
cuadrados.
• No se recomiendan spash screens.
• Evita las opciones escondidas.
• Action bar puede tener interacción. Usenla!
• Navigation Drawer.
• Los colores y prácticamente todo se puede
personalizar.
29. Conclusiones
• No requiere mucha inversión.
• Tiene sus propias reglas de diseño(no
clonen Apps de iOS)
• Es importante saber como se comportan las
actividades.
• Conviene tener una buena base de Java.
• Es importante saber metodologias y buenas
prácticas de desarrrollo
• ¡Android SDK es solo el inicio!
30. ¿Donde puedo aprender más?
• www.developer.android.com
• Cursos / Diplomados / Talleres
• Libros :
++ PRO ANDROID 4
++ INTRODUCTION TO ANDROID APPLICATION
DEVELOPMENT
• Coursera.org
• Comunidades
• Youtube
• StackOverflow.com