SlideShare una empresa de Scribd logo
Android
Introducción a la
      plataforma
           Yésica Hernández
                Jorge Frank
              Cesar Aguirre
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
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 el
comportamiento
 u objetivo del
   programa
Introducción a la plataforma




Veamos más     Pila de componentes
 a detalle …
Introducción a la plataforma

       Pila de componentes
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
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 mapas




Oh!      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
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.
Introducción a la plataforma
                       Componentes de una aplicación
  El usuario    Actividades
    puede
                Consiste en una pantalla con una sola interfaz de usuario, una
interactuar 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
Introducción a la plataforma
                     Componentes de una aplicación
Por 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
Introducción a la plataforma
 El ciclo de vida de una
         Actividad
Para cada Actividad se deben
sobrecargar los metodos:
      onCreate
      onStart
      onResume
      onPause
      onStop
      onDestroy
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,

           onResume
Me!        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.
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
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
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 otro

Me!      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
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
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 mayor
Se recomiendan al menos 2Gb
                                     es requierido.
          en RAM                   o Las 64-bit deben ser capaces de ejecutar
                                     aplicaciones de 32 bits
Entorno de desarrollo
Eclipse 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)
Entorno de desarrollo
      Instalación

Se deben seguir los siguientes pasos para instalar el SDK de
Android
1.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.
Instalación
Contenido del SDK

Docs
Copia de la documentación mas reciente
Platforms
Librerias, imagenes de sistema, codigo de muestra,
skins y adb.
Platform-tools
Herramientas de desarrollo y depuración que
dependen de la plataforma y se actualizan cuando se
libera una nueva.
Tools
Herramientas de desarrollo y depuración, se
actualizan periodicamente.
Instalación
Configuración de Eclipse

Help > Install New Software

Agregar url: https://dl-ssl.google.com/android/eclipse/
Instalación
Configuración de Eclipse

Window > Preferences
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
Introducción: Android
  ANDROID (herramienta por linea de comandos o GUI)
Introducción: Android
  ANDROID (herramienta por linea de comandos o GUI)
Introducción: Android
                 ANDROID (herramienta por linea de comandos o GUI)




 Aqui estamos
descargando el
  api14 ICS
Introducción: Android
        DDMS (herramienta por linea de comandos o GUI)




Oh!
Introducción Android
Creando un dispositivo virtual

En la herramienta android se pueden crear
tanto dispositivos virtuales se deseen
Por linea de comandos:

      ./RUTA_SDK_ANDROID/tools/android

Por medio del IDE
Introducción: Android

             MAS INFORMACION


http://developer.android.com/
guide/developing/tools/index.html

      Yes!
Estructura del proyecto
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.
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/
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.
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/
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
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
       application

Oh!           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
       .
Android Manifest
Configuración de AndroidManifest.xml

Configuraciones que ya tenemos
Declaración de las actividades que forman la aplicación


Lo que vamos a agregar


Indicar qué actividad es la inicial


     <intent-filter>
        <action android:name="android.intent.action.MAIN" />
       <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
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" />
.
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 para
que pueda generar vibraciones a través del hardware del teléfono.
Recursos del proyecto
  ¿Que es un resource?


  ¿Porque utilizar resources?
  Unificar nombres
  Unificar formatos
  Agrupar tipos
¿Que tipos de resources existen?



         Animaciones
         Colores

         Imágenes

         Layouts

         Menús

         Strings / Valores

         XMLs

         Archivos en general
¿Cómo se ven reflejados en el código?
Buenas prácticas
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
Directrices de diseño de UI
  •   Diseño de iconos.
  •   Íconos de launch
  •   Íconos de menú
  •   Íconos de List view

  •   Diseño de widgets
Otras buenas prácticas
Diseñ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
Tarea
Revisar el ’’User
Interface Guidelines’’ de
Android

Más contenido relacionado

PPTX
Java
PDF
Deletreando Android
PPT
Java Es O No Software Libre
PPTX
Sistema operativo android de google
DOCX
Sistemas operativos moviles Android
PDF
"Android de la A a la Z" -- Unidad 4
PPT
Curso Introducción a android
PPTX
Iniciación a Android
Java
Deletreando Android
Java Es O No Software Libre
Sistema operativo android de google
Sistemas operativos moviles Android
"Android de la A a la Z" -- Unidad 4
Curso Introducción a android
Iniciación a Android

La actualidad más candente (20)

DOCX
Memoria virtual android
PPT
Tutorial Android 1
PDF
Introducción a Android: 10 cosas importantes que hay que entender
PDF
"Android de la A a la Z" -- Introducción
DOCX
Gestion de memoria_en_android
PDF
Android estructura del Sistema Operativo
PDF
Desarrollo en Android: Conceptos Básicos
PDF
Seminario Android
PDF
Ediciones de java
PPTX
Android Basics v2.0
PPT
Fundamentos del Desarrollo de Aplicaciones para Android
PDF
2.1 android cep jaen 2014 estructura de aplicación
PDF
Introducción a Android
DOCX
Eclipse
DOCX
Paquetes de Software
PPTX
Tutorial eclipse
PDF
Artículo 2 sobre la plataforma ECLIPSE
PDF
Licencias Microsoft Actualizacion2009
PPTX
Controles swing
Memoria virtual android
Tutorial Android 1
Introducción a Android: 10 cosas importantes que hay que entender
"Android de la A a la Z" -- Introducción
Gestion de memoria_en_android
Android estructura del Sistema Operativo
Desarrollo en Android: Conceptos Básicos
Seminario Android
Ediciones de java
Android Basics v2.0
Fundamentos del Desarrollo de Aplicaciones para Android
2.1 android cep jaen 2014 estructura de aplicación
Introducción a Android
Eclipse
Paquetes de Software
Tutorial eclipse
Artículo 2 sobre la plataforma ECLIPSE
Licencias Microsoft Actualizacion2009
Controles swing
Publicidad

Destacado (20)

PDF
Crouzet Motors - DCmind Gleichstrommoten
PPTX
El sistema inmune
PPTX
Silentwind
PDF
Tutorial de SkateBoard
DOCX
PDF
Douglass Convocation Program 2016
PDF
Ayuda dipa v2
PDF
1/4 Tech y el Mundo Maker - Scratch Day Bogota 2016
PPT
Casos prácticos servicios IPM
PDF
Company Presentation SPH GROUP
PPTX
Letras locas
PPT
Mis deportes Favoritos
DOCX
Actividad semana 3 normas de auditoria
PPTX
Bit defender
PPTX
Vilnius University Hospital Santariškių Klinikos
ODP
La influència de les Xarxes Socials
PPT
Recetas De Comidas GuaraníEs
PPTX
Natacion..
PPTX
Transistores
Crouzet Motors - DCmind Gleichstrommoten
El sistema inmune
Silentwind
Tutorial de SkateBoard
Douglass Convocation Program 2016
Ayuda dipa v2
1/4 Tech y el Mundo Maker - Scratch Day Bogota 2016
Casos prácticos servicios IPM
Company Presentation SPH GROUP
Letras locas
Mis deportes Favoritos
Actividad semana 3 normas de auditoria
Bit defender
Vilnius University Hospital Santariškių Klinikos
La influència de les Xarxes Socials
Recetas De Comidas GuaraníEs
Natacion..
Transistores
Publicidad

Similar a Curso Android Tema 2 (20)

PDF
Proyecto: Guía básica para la creación de Apps sencillas nativas sobre Android
PPT
Introduccion a Android
PPT
Curso desarrollo en android
PPTX
Android 24 01 getting started with android
DOCX
R esume libro el gran libro de android
PPSX
Aplicaciones android
PPT
Curso introducción a android
PPT
Curso introducción a Android
PDF
Introducción al desarrollo de aplicaciones para Android
PDF
Tema 4.2.2 Desarrollo con Android. El Framework de Android.
PDF
Taller Práctico de Android
PPT
Intro. a Android Instituto Bosc de la Coma en Olot
PPT
Curso de programacion en android
PPT
Android
PPT
Curso Desarrollo Android
PDF
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
PDF
Guía básica de programación en android
PDF
PDF
Manual Android
PDF
Tutorial Eclipse
Proyecto: Guía básica para la creación de Apps sencillas nativas sobre Android
Introduccion a Android
Curso desarrollo en android
Android 24 01 getting started with android
R esume libro el gran libro de android
Aplicaciones android
Curso introducción a android
Curso introducción a Android
Introducción al desarrollo de aplicaciones para Android
Tema 4.2.2 Desarrollo con Android. El Framework de Android.
Taller Práctico de Android
Intro. a Android Instituto Bosc de la Coma en Olot
Curso de programacion en android
Android
Curso Desarrollo Android
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
Guía básica de programación en android
Manual Android
Tutorial Eclipse

Último (20)

PPTX
Derechos Reales Unidad ix facultad de con
PDF
Act. 2.1 Recursos Naturales y su Clasificación..pdf
PPTX
ELEMENTOS DEL DIBUJO TECNICO Y GRAFICOOOO
PDF
HhhhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjHu .pdf
PPTX
MISCELANIA - constitución política 410-5.pptx
PPTX
CONSTRUCCION DE MAQUINA ESCUADRADORA ..pptx
PPTX
AT_04_Equipo_Gestión_Pedagógica_innovacion.pptx
DOCX
INDICE DEL PRIMER ENTREGABLE PARA EL PROYECTO
PPTX
7ma sesion de clase de produccion de cuyes y conejos.....pptx
DOCX
RUTA DE TRABAJO III BLOQUE DE SEMANA DE GESTION DE LA IE JUAN SANTOS ATAHUALP...
PDF
Arquitectura Expresionista, ARQUITECTURA
PPTX
Conferencia orientadora Sinapsis y Receptores.pptx
PDF
Párchese y sobreviva al colegio.pdf, juego
PDF
NORMAS APA 7 EDICIÓN PARA DOCUMENTOS UNI
PDF
Cuidado para el Desarrollo Infantil _Certificado de participación (1).pdf
PPTX
Las-Ultimas-Tendencias-Tecnologicas-en-Laboratorio-Clinico-ACTUALIZADA.pptx
PPTX
11avo sesion de clase de produccion de cuyes y conejos.....pptx
PDF
Ejercicio figuras coordenadas polares AUTOCAD 2D
DOCX
FODA COMPUTACION 2 bim- Rolando Trinidad.docx
PPTX
2 rev industrial y dit.pptx mamkaakkakakaaka
Derechos Reales Unidad ix facultad de con
Act. 2.1 Recursos Naturales y su Clasificación..pdf
ELEMENTOS DEL DIBUJO TECNICO Y GRAFICOOOO
HhhhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjHu .pdf
MISCELANIA - constitución política 410-5.pptx
CONSTRUCCION DE MAQUINA ESCUADRADORA ..pptx
AT_04_Equipo_Gestión_Pedagógica_innovacion.pptx
INDICE DEL PRIMER ENTREGABLE PARA EL PROYECTO
7ma sesion de clase de produccion de cuyes y conejos.....pptx
RUTA DE TRABAJO III BLOQUE DE SEMANA DE GESTION DE LA IE JUAN SANTOS ATAHUALP...
Arquitectura Expresionista, ARQUITECTURA
Conferencia orientadora Sinapsis y Receptores.pptx
Párchese y sobreviva al colegio.pdf, juego
NORMAS APA 7 EDICIÓN PARA DOCUMENTOS UNI
Cuidado para el Desarrollo Infantil _Certificado de participación (1).pdf
Las-Ultimas-Tendencias-Tecnologicas-en-Laboratorio-Clinico-ACTUALIZADA.pptx
11avo sesion de clase de produccion de cuyes y conejos.....pptx
Ejercicio figuras coordenadas polares AUTOCAD 2D
FODA COMPUTACION 2 bim- Rolando Trinidad.docx
2 rev industrial y dit.pptx mamkaakkakakaaka

Curso Android Tema 2

  • 1. Android Introducción a la plataforma Yésica Hernández Jorge Frank Cesar Aguirre
  • 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. 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 el comportamiento u objetivo del programa
  • 4. Introducción a la plataforma Veamos más Pila de componentes a detalle …
  • 5. Introducción a la plataforma Pila de componentes
  • 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. 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 mapas Oh! 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. 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. Introducción a la plataforma Componentes de una aplicación El usuario Actividades puede Consiste en una pantalla con una sola interfaz de usuario, una interactuar 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. Introducción a la plataforma Componentes de una aplicación Por 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. Introducción a la plataforma El ciclo de vida de una Actividad Para cada Actividad se deben sobrecargar los metodos: onCreate onStart onResume onPause onStop onDestroy
  • 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, onResume Me! 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. 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. 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. 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 otro Me! 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. 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. 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 mayor Se recomiendan al menos 2Gb es requierido. en RAM o Las 64-bit deben ser capaces de ejecutar aplicaciones de 32 bits
  • 18. Entorno de desarrollo Eclipse 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. Entorno de desarrollo Instalación Se deben seguir los siguientes pasos para instalar el SDK de Android 1.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. Instalación Contenido del SDK Docs Copia de la documentación mas reciente Platforms Librerias, imagenes de sistema, codigo de muestra, skins y adb. Platform-tools Herramientas de desarrollo y depuración que dependen de la plataforma y se actualizan cuando se libera una nueva. Tools Herramientas de desarrollo y depuración, se actualizan periodicamente.
  • 21. Instalación Configuración de Eclipse Help > Install New Software Agregar url: https://dl-ssl.google.com/android/eclipse/
  • 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. Introducción: Android ANDROID (herramienta por linea de comandos o GUI)
  • 25. Introducción: Android ANDROID (herramienta por linea de comandos o GUI)
  • 26. Introducción: Android ANDROID (herramienta por linea de comandos o GUI) Aqui estamos descargando el api14 ICS
  • 27. Introducción: Android DDMS (herramienta por linea de comandos o GUI) Oh!
  • 28. Introducción Android Creando un dispositivo virtual En la herramienta android se pueden crear tanto dispositivos virtuales se deseen Por linea de comandos: ./RUTA_SDK_ANDROID/tools/android Por medio del IDE
  • 29. Introducción: Android MAS INFORMACION http://developer.android.com/ guide/developing/tools/index.html Yes!
  • 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. 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. 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. 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. 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. 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 application Oh! 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. Android Manifest Configuración de AndroidManifest.xml Configuraciones que ya tenemos Declaración de las actividades que forman la aplicación Lo que vamos a agregar Indicar qué actividad es la inicial <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
  • 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. 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 para que pueda generar vibraciones a través del hardware del teléfono.
  • 40. Recursos del proyecto ¿Que es un resource? ¿Porque utilizar resources? Unificar nombres Unificar formatos Agrupar tipos
  • 41. ¿Que tipos de resources existen? Animaciones Colores Imágenes Layouts Menús Strings / Valores XMLs Archivos en general
  • 42. ¿Cómo se ven reflejados en el código?
  • 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. 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. Otras buenas prácticas Diseñ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. Tarea Revisar el ’’User Interface Guidelines’’ de Android