android uc3m sesión 1
TRANSCRIPT
![Page 2: Android UC3M Sesión 1](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/6.jpg)
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 9: Android UC3M Sesión 1](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/10.jpg)
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 12: Android UC3M Sesión 1](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/13.jpg)
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 15: Android UC3M Sesión 1](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/16.jpg)
www.solusoft.es
Controladormvcandroid
Actividades, Tareas e Intents (con y sin respuesta).
![Page 18: Android UC3M Sesión 1](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/18.jpg)
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 20: Android UC3M Sesión 1](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/22.jpg)
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 24: Android UC3M Sesión 1](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/24.jpg)
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 26: Android UC3M Sesión 1](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/26.jpg)
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 29: Android UC3M Sesión 1](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/29.jpg)
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 31: Android UC3M Sesión 1](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/31.jpg)
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 33: Android UC3M Sesión 1](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/33.jpg)
www.solusoft.es
Cada cosa en su sitioficherosandroid
styles.xml
color.xml drawables
Cómo
layout.xml
strings.xml
Qué
ActivityCuándo
![Page 35: Android UC3M Sesión 1](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/37.jpg)
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 39: Android UC3M Sesión 1](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062313/55b74ac7bb61eb096b8b4692/html5/thumbnails/40.jpg)
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