Curso Android Tema 2

2,382 views

Published on

Curso de Android Tema 2 de UNAM Mobile

Published in: Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,382
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
122
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Curso Android Tema 2

  1. 1. AndroidIntroducción a la plataforma Yésica Hernández Jorge Frank Cesar Aguirre
  2. 2. Introducción a la plataforma¿Qué debo hacer primero?Entender el patrón de diseño MVCEntender los tipos de aplicacionesEntender el ciclo de vida
  3. 3. Introducción a la plataforma El modelo MVC en Android La parte visual que permite al Código que usuario recibe y interactuar procesa los eventos de la vista Define elcomportamiento u objetivo del programa
  4. 4. Introducción a la plataformaVeamos más Pila de componentes a detalle …
  5. 5. Introducción a la plataforma Pila de componentes
  6. 6. Introducción a la plataforma Pila de componentes API Mi Android código En conclusión Para programar en Android se requiere un buen conocimiento de JAVA Java ME Java SE Luego hay que comprender el API de Android Finalmente, reusar nuestro propio código y hacerlo cada vez mas profesional, útil y eficiente
  7. 7. Introducción a la plataforma Tipos de aplicación Aplicaciones en primer plano Tienen funcionalidad solo cuando estan en primer plano. Ejemplo: juegos y aplicaciones con mapasOh! Aplicaciones en segundo plano Después de ser configuradas pasan la mayor parte del tiempo ejecutandose en segundio plano, normalmente responden a eventos causados por el HW, sistema u otras aplicaciones por ejemplo la interfaz de las llamadas entrantes o salientes y el gestor de red
  8. 8. Introducción a la plataforma Tipos de aplicación Aplicaciones intermitentes Necesitan algunas interacciones con el usuario, pero generalmente resuelven todas sus actividades por si mismas, por ejemplo: el reproductor multimedia Widgets Se ejecutan desde la pantalla de Home del usuario.
  9. 9. Introducción a la plataforma Componentes de una aplicación El usuario Actividades puede Consiste en una pantalla con una sola interfaz de usuario, unainteractuar a través de aplicación se compone de un conjunto de actividades. Se ellas compone por la definición de un esqueleto xml de la interfáz o varios y una clase controladora que hace uso de dichos elementos. Servicios Se ejecuta en segundo plano y provee funcionalidad a otras aplicaciones. Por ejemplo el reproductor de música que corre en segundo plano mientras hacemos otras tareas Tienen un ciclo de vida diferente a las actividades
  10. 10. Introducción a la plataforma Componentes de una aplicaciónPor ejemplo, existe un Proveedores de contenido proveedor para los Permiten compartir datos con otras actividades y servicios.contactos del Usan una interfáz estándar en forma de URI. teléfono Cuando una aplicación es registrada en el sistema como proveedor de contenido, puede ser capaz de responder a estas peticiones Notificaciones Permiten desplegar de forma visual y/o auditiva mensajes para capturar la atención del usuario. Se pueden personalizar visualmente u obtener datos a través de ellas
  11. 11. Introducción a la plataforma El ciclo de vida de una ActividadPara cada Actividad se debensobrecargar los metodos: onCreate onStart onResume onPause onStop onDestroy
  12. 12. Introducción a la plataforma Ciclo de vida onCreate es llamada cuando la aplicacion se crea por primera vez. Crear e inicar elementos de las vistas, bd Obtener mensajes de otras actividades (mediante un Bundle) onStart es llamada cuando la actividad se muestra en pantalla, onResumeMe! se ejecuta despues de onStart si la actividad corre en segundo plano de la vista, puede manejar los eventos derivados de la vista. Si otra aplicacion pide el foco en pantalla y luego al finalizar devuelve la vista a nuestra aplicacion, se ejecuta para poder actualizar datos en la vista.
  13. 13. Introducción a la plataforma Ciclo de vida onPause Cuando se hace la transición a otra actividad, aqui se puede definir que partes del programa no se deben seguir ejecutando para ahorrar recursos. En este estado, si el dispositivo de queda sin memoria, considerara terminar la aplicación. onStop se ejecuta cuando la actividad no esta visible ya sea porque otra actividad solicitó el foco o porque la activida seráMe! destruida onDestroy es el último método de la aplicación que se ejecutará antes de que el proceso sea destruido
  14. 14. Introducción a la plataforma Ciclo de vida onPause Cuando se hace la transición a otra actividad, aqui se puede definir que partes del programa no se deben seguir ejecutando para ahorrar recursos. En este estado, si el dispositivo de queda sin memoria, considerara terminar la aplicación. onStop se ejecuta cuando la actividad no esta visible ya sea porque otra actividad solicitó el foco o porque la activida seráMe! destruida onDestroy es el último método de la aplicación que se ejecutará antes de que el proceso sea destruido
  15. 15. Introducción a la plataforma Ciclo de vida de los Servicios El proceso de servicio es independiente del componente que lo creo y puede correr indefinidamente. onStartCommand() El sistema llama este método cuando una activity pide que un servicio sea iniciado usando startService(). onBind El sistema llama este método cuando otroMe! componente quiere unirse con el servicio llamado a bindeService(). onCreate() Cuando el servicio es creado por primera vez. onDestroy() El sistema llama este método cuando el servicio ya no es usado y esta siendo destruido
  16. 16. Introducción a la plataforma Errores en tiempo de ejecución ADB juega un papel fundamental para hallar el error Android monitorea los procesos para evitar que “congelen” al OS
  17. 17. Entorno de desarrollo Requisitos mínimos Sistemas operativos soportados • Windows XP (32-bit), Vista (32- ó 64-bit), o Windows 7 (32- ó 64-bit) • Mac OS X 10.5.8 o mayor (x86) • Linux (probado en Ubuntu Linux, Lucid Lynx) o GNU C Library (glibc) 2.7 o mayor es requerido o En Ubuntu Linux, versión 8.04 o mayorSe recomiendan al menos 2Gb es requierido. en RAM o Las 64-bit deben ser capaces de ejecutar aplicaciones de 32 bits
  18. 18. Entorno de desarrolloEclipse IDE• Eclipse 3.6 (Helios) o mayor• Eclipse JDT plugin (Incluido en la mayoría de los paquetes)• Los paquetes específicos recomendados para la instalación son o Eclipse IDE for Java Developers o Eclipse Classic o Eclipse IDE for Java EE Developers• JDK 5 or JDK 6 (JRE por si solo no es suficiente)• Android Development Tools plugin (recomendado)• No compatible con Gnu Compiler for Java (gcj)
  19. 19. Entorno de desarrollo InstalaciónSe deben seguir los siguientes pasos para instalar el SDK deAndroid1.Preparar su computadora de desarrollo y asegurarse que cumpla los requisitos mínimos.– Instale el SDK starter package– Instale el ADT Plugin para Eclipse– Agregue los componentes de Android al SDK.
  20. 20. InstalaciónContenido del SDKDocsCopia de la documentación mas recientePlatformsLibrerias, imagenes de sistema, codigo de muestra,skins y adb.Platform-toolsHerramientas de desarrollo y depuración quedependen de la plataforma y se actualizan cuando selibera una nueva.ToolsHerramientas de desarrollo y depuración, seactualizan periodicamente.
  21. 21. InstalaciónConfiguración de EclipseHelp > Install New SoftwareAgregar url: https://dl-ssl.google.com/android/eclipse/
  22. 22. InstalaciónConfiguración de EclipseWindow > Preferences
  23. 23. Introducción: Android ADB (Linea de comandos) Cliente y servidor en la maquina de desarrollo Servicio (deamon) en el dispositivo Establecer conexion con los dispositivos Ejecutar comandos Instalar aplicaciones<3 Obtener el log del sistema Acceder a bases de datos SQLite en el dispositivo
  24. 24. Introducción: Android ANDROID (herramienta por linea de comandos o GUI)
  25. 25. Introducción: Android ANDROID (herramienta por linea de comandos o GUI)
  26. 26. Introducción: Android ANDROID (herramienta por linea de comandos o GUI) Aqui estamosdescargando el api14 ICS
  27. 27. Introducción: Android DDMS (herramienta por linea de comandos o GUI)Oh!
  28. 28. Introducción AndroidCreando un dispositivo virtualEn la herramienta android se pueden creartanto dispositivos virtuales se deseenPor linea de comandos: ./RUTA_SDK_ANDROID/tools/androidPor medio del IDE
  29. 29. Introducción: Android MAS INFORMACIONhttp://developer.android.com/guide/developing/tools/index.html Yes!
  30. 30. Estructura del proyecto
  31. 31. Estructura del proyecto • Carpeta /src/ Contiene todo el código fuente de la aplicación, código de la interfaz gráfica, clases auxiliares, etc. Inicialmente, Eclipse creará por nosotros el código básico de la pantalla (Activity) principal de la aplicación, siempre bajo la estructura del paquete java definido.
  32. 32. Estructura del proyecto Carpeta /res/ Contiente todos los ficheros de recursos necesarios para el proyecto: imágenes, vídeos, cadenas de texto, etc. Los diferentes tipos de recursos de deberán distribuir entre las siguientes carpetas: • /res/drawable/ • /res/layout/ • /res/anim/ • /res/menu/ • /res/values/ de texto (strings.xml), estilos (styles.xml), colores (colors.xml), etc. • /res/xml/ • /res/raw/
  33. 33. Estructura del proyecto • Carpeta /gen/ Contiene una serie de elementos de código generados automáticamente al compilar el proyecto. Cada vez que generamos nuestro proyecto, la maquinaria de compilación de Android genera por nosotros una serie de ficheros fuente en java dirigidos al control de los recursos de la aplicación.
  34. 34. Estructura del proyecto Carpeta /assets/ • Contiene todos los demás ficheros auxiliares necesarios para la aplicación • Diferencia entre los recursos incluidos en la carpeta /res/raw/ y los incluidos en la carpeta /assets/
  35. 35. Android Manifest Propósito  Este archivo define la estructura y los metadatos de la aplicación, sus componentes y requerimientos.  Define cada componente de la aplicación en un nodo y para cada uno define filtros de intentos y permisos que controlan la interacción entre ellos.  Define configuraciones de seguridad, requerimientos de hardware y de plataforma.  Algunos elementos:  reqFiveWayNav - especifica que el dispositivo debe tener un trackball o un D-pad  reqHardKeyboard - especifica que se necesita un teclado físico
  36. 36. Programando en Android AndroidManifest.xml Algunos elementos: uses-feature android.hardware.camera si se requiere la camara del dispositivo suports-screns smallScreens - QVGA normalScreen - WVGA anyDensity - si la aplicacion se acomodaa cualquier densidad applicationOh! activity provider receiver uses-permision - habilita el uso de recursos permision - establece restricciones al acceder a la aplicacion instrumentation - declara clases de prueba de la aplicacion .
  37. 37. Android ManifestConfiguración de AndroidManifest.xmlConfiguraciones que ya tenemosDeclaración de las actividades que forman la aplicaciónLo que vamos a agregarIndicar qué actividad es la inicial <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /></intent-filter>
  38. 38. Android Manifest Configuración de AndroidManifest.xml<activity android:label="@string/app_name"android:name="ControladorLogo"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="ControladorJuego" />.
  39. 39. Android Manifest Configuración de AndroidManifest.xml<uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.VIBRATE"/>Por ejemplo aquí estamos otorgando a la aplicación permiso paraque pueda generar vibraciones a través del hardware del teléfono.
  40. 40. Recursos del proyecto ¿Que es un resource? ¿Porque utilizar resources? Unificar nombres Unificar formatos Agrupar tipos
  41. 41. ¿Que tipos de resources existen? Animaciones Colores Imágenes Layouts Menús Strings / Valores XMLs Archivos en general
  42. 42. ¿Cómo se ven reflejados en el código?
  43. 43. Buenas prácticas
  44. 44. Compatibilidad Requerimientos de hardware (Reconocimiento del hdw disponible en el dispositivo) Requerimientos de software (Reconocimiento de la versión de la API, mínima y óptima) Localidad e idioma
  45. 45. Directrices de diseño de UI • Diseño de iconos. • Íconos de launch • Íconos de menú • Íconos de List view • Diseño de widgets
  46. 46. Otras buenas prácticasDiseño de actividades y tareas Usabilidad del task Minimalismo en el diseño de las actividades Diseño de menús Menú de opciones, para funcionalidades primarias Menú contextual para funciones secundarias
  47. 47. TareaRevisar el ’’UserInterface Guidelines’’ deAndroid

×