SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
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
•	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
¿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!
¿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
Vista de alto nivel del stack de software Android
Android SDK
Runtime
OpenGL, WebKit, Graphics,
SQLite, Media, FreeType
Drivers
Herramientas del Desarrollador
Android
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
¿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).
Habilidades del Desarrollador
¿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
“Saber java no te hace un Programador Android,
pero como te ayuda”
¿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.
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
Ciclo de vida de las Aplicaciones Android
Estados de la App:
++ Resumed
++ Paused
++ Stopped
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
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
Interfaz Gráfica y UX
Resolución
960x1280
480x600
720x1280
480x800
320x480
320x480
1080x1920
768x1280
480x854
540x960
1136x960
240x320
640x960
xxhdpi
xhdpi hdpi
ldpi mdpi
Screen Ratio
Olvidense de Pixel Perfect
¡Piensen en Relativo!
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.
¿Patrón o Antipatrón?
¿Bien o Mal?
¿Bien o Mal?
¿Bien o Mal?
¿Bien o Mal?
Demo
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!
¿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
ace.mrivera@gmail.com
http://mariouz.com/
desarrolloagileveracruz.wordpress.com
@MariouzAl
mriveradominguez1
Gracias,
¿Preguntas?

Mais conteúdo relacionado

Semelhante a ¿Cómo iniciarse en programación Android?

Presentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de TelefónicaPresentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de TelefónicaJavier Tellez Dones
 
Curso de programacion en android
Curso de programacion en androidCurso de programacion en android
Curso de programacion en androidEscurra Walter
 
Herramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móvilesHerramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móvilesFernand Bernowly
 
Taller Android seedrocket
Taller Android seedrocketTaller Android seedrocket
Taller Android seedrocketIsrael Camacho
 
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Topicos Avanzados de Programacion -  Unidad 5 programacion movilTopicos Avanzados de Programacion -  Unidad 5 programacion movil
Topicos Avanzados de Programacion - Unidad 5 programacion movilJosé Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilJosé Antonio Sandoval Acosta
 
Desarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosDesarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosGabriel Huecas
 
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...Luis Fernando Aguas Bucheli
 
Introducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderIntroducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderjezabelink
 
Desarrollo android - 2 - arquitectura del sistema
Desarrollo android   - 2 - arquitectura del sistemaDesarrollo android   - 2 - arquitectura del sistema
Desarrollo android - 2 - arquitectura del sistemaEmilio Aviles Avila
 
Ponencia Final Dispositivos Móviles
Ponencia Final Dispositivos Móviles Ponencia Final Dispositivos Móviles
Ponencia Final Dispositivos Móviles Adán Silva
 

Semelhante a ¿Cómo iniciarse en programación Android? (20)

Introduccion android
Introduccion androidIntroduccion android
Introduccion android
 
Presentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de TelefónicaPresentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de Telefónica
 
Presentacion cw2012
Presentacion cw2012Presentacion cw2012
Presentacion cw2012
 
Curso de programacion en android
Curso de programacion en androidCurso de programacion en android
Curso de programacion en android
 
Android
AndroidAndroid
Android
 
Meetup app-moviles
Meetup app-movilesMeetup app-moviles
Meetup app-moviles
 
Conceptos y Generalidades de Android
Conceptos y Generalidades de AndroidConceptos y Generalidades de Android
Conceptos y Generalidades de Android
 
Herramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móvilesHerramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móviles
 
Taller Android seedrocket
Taller Android seedrocketTaller Android seedrocket
Taller Android seedrocket
 
Andrid studio
Andrid studioAndrid studio
Andrid studio
 
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Topicos Avanzados de Programacion -  Unidad 5 programacion movilTopicos Avanzados de Programacion -  Unidad 5 programacion movil
Topicos Avanzados de Programacion - Unidad 5 programacion movil
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
Documento de android
Documento de androidDocumento de android
Documento de android
 
Desarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosDesarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos Básicos
 
Android
AndroidAndroid
Android
 
Manual 1
Manual 1Manual 1
Manual 1
 
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...
 
Introducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderIntroducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entender
 
Desarrollo android - 2 - arquitectura del sistema
Desarrollo android   - 2 - arquitectura del sistemaDesarrollo android   - 2 - arquitectura del sistema
Desarrollo android - 2 - arquitectura del sistema
 
Ponencia Final Dispositivos Móviles
Ponencia Final Dispositivos Móviles Ponencia Final Dispositivos Móviles
Ponencia Final Dispositivos Móviles
 

¿Cómo iniciarse en programación Android?

  • 1.
  • 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
  • 21. Screen Ratio Olvidense de Pixel Perfect ¡Piensen en Relativo!
  • 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.
  • 28. Demo
  • 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