2. conociendoandroid
Indice
Qué es Android
Un poco de historia
Android en el mundo
Ventajas y desventajas
Desarrollar en Android
Introducción a la teoría
Patrón: Modelo, Vista, Controlador
Sensores y localización
Ficheros Android
Publicar
Tips
Referencia
www.solusoft.es
3. quéesandroid
La evolución libre del mundo móvil…
Es un Sistema Operativo libre, gratuito
y multiplataforma, especialmente
diseñado para dispositivos móviles.
Google compró en 2005 Android
Inc., La empresa que desarrollaba.
Se publicó antes el sistema
operativo que el primer móvil.
En 2010 se situó como el sistema
operativo móvil más vendido del
mundo.
www.solusoft.es
4. androidenelmundo
La evolución libre del mundo móvil…
En 2012 domina el 68% del mercado, con 500 millones de
dispositivos activos y 1.3 millones de activaciones al día.
www.solusoft.es
5. ventajasandroid
La evolución libre del mundo móvil…
•Es libre (licencia Apache)
•Es gratis.
•Rápida resolución de errores.
•Permite adaptación a los terminales.
•Buenas herramientas de desarrollo.
•Gran flexibilidad para los usuarios.
•Personalizable.
•Gran comunidad.
•Terminales económicos.
•Multitarea.
•Más que móviles.
www.solusoft.es
6. desventajasandroid
La evolución libre del mundo móvil…
•FRAGMENTACIÓN
•Versiones
•Hardware
•Fabricantes
•Caducidad capacidades Hardware.
•Batería
•Reinicios
•Market poco exigente
•Seguridad
•Apariencia
•Aplicaciones mal acabadas
www.solusoft.es
9. desarrollarenandroid
Instalando el SDK…
•No es necesario registrarse
•Es conveniente leer las guías de diseño
•Descargar e instalar Android SDK
•Instalar Java SE Development Kit
•Instalar Eclipse
•Instalar ADT Plugin
•Ejecutar Android SDK Manager
•¡Comenzar!
http://developer.android.com/sdk/installing/index.html
www.solusoft.es
10. desarrollarenandroid
Esqueleto de un proyecto sencillo…
Lo más relevante
•/src/
•/res/drawable/
•/res/layout/
•/res/values/
•AndroidManifest
•Build Path
•Otros…
www.solusoft.es
12. mvcandroid
Modelo
Es el Sistema de Gestión de Datos y de
Lógica de negocio.
•Java (Dalvik)
•Acceso a datos
•SQLite
•Web Services
•Depende de las necesidades de
información de la aplicación
•Lógica de negocio
www.solusoft.es
13. mvcandroid
Vista
Es la interfaz con la que interactuará el
usuario.
•Layouts XML
•Parecido a HTML…
Externalizar…
•Estilos
•Colores
•Drawables
•Strings (Localización)
•Animaciones
www.solusoft.es
15. mvcandroid
Controlador
Clases Java que ejecutan operaciones del
modelo en función de las acciones que el
usuario realiza en la interfaz.
•Eventos
•Hilos
•Representación de información
•Recolección de datos
•Navegación entre Actividades
www.solusoft.es
16. mvcandroid
Controlador
Actividades, Tareas e Intents (con y sin respuesta).
www.solusoft.es
18. componentesandroid
Tipos de componente
Activities
Representan un sola pantalla con interfaz de usuario.
Services
Es un componente que se ejecuta en segundo plano
realizando tareas largas o realizando procesos remotos.
Content Providers
Expone y maneja colecciones de datos de aplicación.
Broadcast receivers
Es un componente que responde ante mensajes broadcast
emitidos por el sistema o por otros componentes.
¡Declaración de componentes!
www.solusoft.es
20. sensoresandroid
Tu android es un dispositivo sensible
La mayoría de dispositivos Android tienen
sensores Hardware o Software (sintéticos)
que permiten realizar distintas
mediciones.
Para usarlos…
•Sensores de movimiento
•Determinar que están disponibles
•Acelerómetros, gravedad,
•Determinar sus capacidades y
giroscópios…
rangos…
•Sensores ambientales
•Suscribirse al monitoraire,eventos del
•Temperatura del de presión,
iluminación, humedad…
sensor para detectar sus
•Sensores de posición
actualizaciones.
•Sensores de orientación (GPS) y
magnéticos.
www.solusoft.es
21. sensoresandroid
Desafíos de la localización
Manejar las tecnologías de localización
puede ser complicado, hay muchos
factores en la lectura de la posición que
pueden generar errores.
•Multitud de orígenes
•GPS, Cell-ID (GSM), WiFi…
•Movimiento del usuario
•Ya que la posición cambia, es
necesario recalcular la
localización a menudo
•Precisión cambiante
•Las posiciones de cara origen no
tienen una precisión estable.
www.solusoft.es
22. ficherosandroid
AndroidManifest.xml
AndroidManifest.xml
Presenta información esencial acerca de
la aplicación que android debe conocer
antes de ejecutarla.
•Obligatorio en la raíz de la app.
•Define:
•Nombre del paquete
•Componentes
•Permisos de acceso al API
•Permisos de acceso al APP
•Nivel del API de Android
•Librerías
www.solusoft.es
24. ficherosandroid
strings.xml
strings.xml
Permite separar los recursos de tipo
cadena de texto de tu aplicación y habilita
la localización.
•Uso muy recomendado
(casi obligatorio)
•El nombre es opcional
•Puede dividirse en varios ficheros
•Disponible en tiempo de compilación
www.solusoft.es
26. ficherosandroid
layout.xml
layout.xml
Estructura visual de una interfaz de
usuario.
•Permite separar presentación de
código de aplicación.
•Nombre distinto para cada vista
•Dos caminos para su declaración
•XML
•Runtime
•Ojo a los recursos en librerias
•Es posible crear varios por tamaño
de pantalla, orientaciones o idiomas.
www.solusoft.es
29. ficherosandroid
styles.xml
styles.xml
Colección de propiedades que especifican
el aspecto y el formato de una View o una
ventana.
•Es el equivalente a CSS.
•Permite separar el contenido de su
aspecto.
•El nombre del fichero es indiferente.
•Permite herencia de estilos.
•También podemos hablar de Themes
•Android define algunos estilos y
temas por defecto.
www.solusoft.es
31. ficherosandroid
color.xml
color.xml
Colección de propiedades que especifican
valores para colores de la aplicación.
•El nombre del fichero es indiferente
•Permite reutilizar fácilmente
constantes de color.
•Permite hacer cambios rápidos en el
aspecto de la aplicación.
•Android define una serie de colores
por defecto.
www.solusoft.es
35. publicarapp
Llegando a los usuarios
Generar el APK
Exportar la aplicación con el SDK o el IDE.
Firmar el APK
Firma única por app y con fecha de
caducidad.
Canal de distribución
Ad-hoc o Market (Google Play, hay que
ser developer).
API Level y Filtros
Calidad vs Cantidad
Recursos de Publicación
Marketing: imágenes, vídeos.
Monetización
Gratis, Pago, In-App Purchase
www.solusoft.es
36. tipsandroid
Trucos y cositas
Clean
Muchos problemas se resuelven
reiniciando.
Es mejor evitar el emulador
A no ser que no tengamos alternativa…
No hace falta cerrar el emulador
A muchos se les pasa por alto.
Recompilar
Los problemas raros pueden ser del IDE
DOC antes de tirar líneas
Muchas cosas son más fáciles de lo que
parece
www.solusoft.es
37. algunasreferencias
En caso de duda…
Estas diapositivas
http://bit.ly/soluAndroid1
Guías de uso del API
http://developer.android.com/guide
Entrenamiento y ejemplos
http://developer.android.com/training
Referencias API
http://developer.android.com/reference
Instalar el SDK
http://developer.android.com/tools/index.html
Repositorio DEMO
https://github.com/findemor/FormacionAndroid
Guías en mi blog
http://blog.findemor.es/category/android/
www.solusoft.es
39. playtime
Es hora de jugar
Tag V1 Ejercicio propuesto
Botón para mostrar u ocultar
las últimas 10 posiciones
Fecha corrección: 5/11/2012
www.solusoft.es
40. contactme
En caso de duda consulte a su farmacéutico
Manuel J. García
Técnico de Innovación
en solusoft
mgarcia@solusoft.es
@findemor
www.solusoft.es