android uc3m sesión 1

40
www.solusoft.es Introducción al desarrollo en Android

Upload: topoos

Post on 28-Jul-2015

138 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Android UC3M Sesión 1

www.solusoft.es

Introducción al desarrollo en Android

Page 2: Android UC3M Sesión 1

www.solusoft.es

Indiceconociendoandroid

Qué es AndroidUn poco de historia

Android en el mundoVentajas y desventajasDesarrollar en Android

Introducción a la teoríaPatrón: Modelo, Vista, ControladorSensores y localizaciónFicheros AndroidPublicarTipsReferencia

Page 3: Android UC3M Sesión 1

www.solusoft.es

La evolución libre del mundo móvil…quéesandroid

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.

Page 4: Android UC3M Sesión 1

www.solusoft.es

La evolución libre del mundo móvil…androidenelmundo

En 2012 domina el 68% del mercado, con 500 millones de dispositivos activos y 1.3 millones de activaciones al día.

Page 5: Android UC3M Sesión 1

www.solusoft.es

La evolución libre del mundo móvil…ventajasandroid

•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.

Page 6: Android UC3M Sesión 1

www.solusoft.es

La evolución libre del mundo móvil…desventajasandroid

•FRAGMENTACIÓN• Versiones• Hardware• Fabricantes

•Caducidad capacidades Hardware.•Batería•Reinicios•Market poco exigente• Seguridad• Apariencia

•Aplicaciones mal acabadas

Page 7: Android UC3M Sesión 1

www.solusoft.es

La evolución libre del mundo móvil…desventajasandroid

Page 8: Android UC3M Sesión 1

www.solusoft.es

Introducción al desarrollodesarrollarenandroid

Page 9: Android UC3M Sesión 1

www.solusoft.es

Instalando el SDK…desarrollarenandroid

•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

•No es necesario registrarse•Es conveniente leer las guías de diseño

Page 10: Android UC3M Sesión 1

www.solusoft.es

Esqueleto de un proyecto sencillo…desarrollarenandroid

Lo más relevante

•/src/•/res/drawable/•/res/layout/•/res/values/•AndroidManifest•Build Path•Otros…

Page 11: Android UC3M Sesión 1

www.solusoft.es

Patrón MVC…desarrollarenandroid

Page 12: Android UC3M Sesión 1

www.solusoft.es

Modelomvcandroid

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

Page 13: Android UC3M Sesión 1

www.solusoft.es

Vistamvcandroid

Es la interfaz con la que interactuará el usuario.

•Layouts XML•Parecido a HTML…

Externalizar…

•Estilos•Colores•Drawables•Strings (Localización)•Animaciones

Page 14: Android UC3M Sesión 1

www.solusoft.es

Vistamvcandroid

Page 15: Android UC3M Sesión 1

www.solusoft.es

Controladormvcandroid

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

Page 16: Android UC3M Sesión 1

www.solusoft.es

Controladormvcandroid

Actividades, Tareas e Intents (con y sin respuesta).

Page 17: Android UC3M Sesión 1

www.solusoft.es

Controladormvcandroid

Page 18: Android UC3M Sesión 1

www.solusoft.es

Tipos de componentecomponentesandroid

ActivitiesRepresentan un sola pantalla con interfaz de usuario.

ServicesEs un componente que se ejecuta en segundo plano realizando tareas largas o realizando procesos remotos.

Content ProvidersExpone y maneja colecciones de datos de aplicación.Broadcast receiversEs un componente que responde ante mensajes broadcast emitidos por el sistema o por otros componentes.

¡Declaración de componentes!

Page 19: Android UC3M Sesión 1

www.solusoft.es

Particularidades de androiddesarrollarenandroid

Page 20: Android UC3M Sesión 1

www.solusoft.es

Tu android es un dispositivo sensiblesensoresandroid

La mayoría de dispositivos Android tienen sensores Hardware o Software (sintéticos) que permiten realizar distintas mediciones.•Sensores de movimiento• Acelerómetros, gravedad,

giroscópios…•Sensores ambientales• Temperatura del aire, presión,

iluminación, humedad…•Sensores de posición• Sensores de orientación (GPS)

y magnéticos.

Para usarlos…•Determinar que están disponibles•Determinar sus capacidades y rangos…•Suscribirse al monitor de eventos del sensor para detectar sus actualizaciones.

Page 21: Android UC3M Sesión 1

www.solusoft.es

Desafíos de la localizaciónsensoresandroid

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.

Page 22: Android UC3M Sesión 1

www.solusoft.es

AndroidManifest.xmlficherosandroid

AndroidManifest.xmlPresenta 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

Page 23: Android UC3M Sesión 1

www.solusoft.es

AndroidManifest.xmlficherosandroid

Page 24: Android UC3M Sesión 1

www.solusoft.es

strings.xmlficherosandroid

strings.xmlPermite 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

Page 25: Android UC3M Sesión 1

www.solusoft.es

strings.xmlficherosandroid

Page 26: Android UC3M Sesión 1

www.solusoft.es

layout.xmlficherosandroid

layout.xmlEstructura 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.

Page 27: Android UC3M Sesión 1

www.solusoft.es

layout.xmlficherosandroid

Page 28: Android UC3M Sesión 1

www.solusoft.es

layout.xmlficherosandroid

Page 29: Android UC3M Sesión 1

www.solusoft.es

styles.xmlficherosandroid

styles.xmlColecció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.

Page 30: Android UC3M Sesión 1

www.solusoft.es

styles.xmlficherosandroid

Page 31: Android UC3M Sesión 1

www.solusoft.es

color.xmlficherosandroid

color.xmlColecció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.

Page 32: Android UC3M Sesión 1

www.solusoft.es

color.xmlficherosandroid

Page 33: Android UC3M Sesión 1

www.solusoft.es

Cada cosa en su sitioficherosandroid

styles.xml

color.xml drawables

Cómo

layout.xml

strings.xml

Qué

ActivityCuándo

Page 34: Android UC3M Sesión 1

www.solusoft.es

Es hora de probardemotime

Page 35: Android UC3M Sesión 1

www.solusoft.es

Llegando a los usuariospublicarapp

Generar el APKExportar la aplicación con el SDK o el IDE.Firmar el APKFirma única por app y con fecha de caducidad.

Canal de distribuciónAd-hoc o Market (Google Play, hay que ser developer).

API Level y FiltrosCalidad vs Cantidad

Recursos de PublicaciónMarketing: imágenes, vídeos.

MonetizaciónGratis, Pago, In-App Purchase

Page 36: Android UC3M Sesión 1

www.solusoft.es

Trucos y cositastipsandroid

CleanMuchos problemas se resuelven reiniciando.

Es mejor evitar el emuladorA no ser que no tengamos alternativa…No hace falta cerrar el emuladorA muchos se les pasa por alto.

RecompilarLos problemas raros pueden ser del IDEDOC antes de tirar líneasMuchas cosas son más fáciles de lo que parece

Page 37: Android UC3M Sesión 1

www.solusoft.es

En caso de duda…algunasreferencias

http://developer.android.com/guideGuías de uso del API

Entrenamiento y ejemplos

http://developer.android.com/trainingReferencias API

http://developer.android.com/reference

http://developer.android.com/tools/index.htmlInstalar el SDK

https://github.com/findemor/FormacionAndroidRepositorio DEMO

http://bit.ly/soluAndroid1 Estas diapositivas

http://blog.findemor.es/category/android/Guías en mi blog

Page 38: Android UC3M Sesión 1

www.solusoft.es

Es hora de jugarplaytime

Page 39: Android UC3M Sesión 1

www.solusoft.es

Es hora de jugarplaytime

Tag V1

Ejercicio propuestoBotón para mostrar u ocultar las últimas 10 posiciones

Fecha corrección: 5/11/2012

Page 40: Android UC3M Sesión 1

www.solusoft.es

En caso de duda consulte a su farmacéuticocontactme

Manuel J. García

Técnico de Innovación en solusoft

[email protected]@findemor