SlideShare une entreprise Scribd logo
1  sur  47
   Paso 1:
     JDK de Java.
   Paso 2:
     Eclipse (recomendado IDE for Java Developers)
   Paso 3:
     Android SDK (paquete con las herramientas
     básicas para desarrolar aplicaciones)
      ▪ Incluye SDK y AVD Manager
      ▪ Instalar los Targets necesarios.
   Paso 4:
     Android Development Tools (ADT)
      ▪ Plug-in para Eclipse
      ▪ Incluye vista DDMS
       ▪ Procesos en ejecución
       ▪ Navegación por el sistema de ficheros
       ▪ Logs
     ▪ Proyecto, editor de vistas, compilación de recursos,
       firma y exportación de aplicaciones,…
   Paso 5:
     Configurar el Plugin ADT
      ▪ En la ventana de configuración de Eclipse, se debe
        acceder a la sección de Android e indicar la ruta en la que
        se ha instalado el SDK.
   Paso 6:
     Configurar Android Virtual Device (AVD)
      ▪ A la hora de probar y depurar aplicaciones Android no
        tendremos que hacerlo necesariamente sobre un
        dispositivo físico, sino que podremos configurar un
        emulador o dispositivo virtual.
   Android es un sistema operativo móvil
    basado en Linux, que junto con aplicaciones
    middleware está enfocado para ser utilizado
    en dispositivos móviles como teléfonos
    inteligentes, tabletas, Google TV y otros
    dispositivos. Es desarrollado por la Open
    Handset Alliance, la cual es liderada por
    Google.
   Framework de aplicación que habilita la
    reutilización y reemplazo de componentes.
   Máquina virtual Dalvik optimizada para
    móviles.
   Navegador integrado basado en WebKit .
   Gráficos optimizados por una librería gráfica
    2D propia; gráficos 3D basados en la
    especificación OpenGL.
   SQLite para almacenamiento de datos
    estructurados.
   Soporte para gran variedad de archivos
    multimedia (MPEG4, H.264, MP3, AAC, AMR,
    JPG, PNG, GIF).
   Telefonía GSM.
   Bluetooth, EDGE, 3G y WiFi (4G, WiMAX,…).
   Cámara, GPS, compás, acelerómetro,…
   Entorno de desarrollo completo incluyendo
    emulador, herramientas de depuración,
    profiling de memoria y rendimiento y plugin
    para el IDE Eclipse.
   Apple - iPhone OS

   RIM – Blackberry

   Microsoft - Windows Mobile 6.5, Phone 7
    Series

   Symbian Foundation - Symbian OS

   Palm - WebOS
   HTC
     Dream, Magic (myTouch3G), Hero, Tattoo, Nexus
     One(*), Desire, Legend
   Motorola
     CLIQ, Droid (Milestone), DEXT
   Acer, Archos, Dell, Huawei, Lenovo, LG,
    Samsumg, Sony Ericsson,…
 Kernel linux 2.6.
 Runtime basado en
  VM Dalvik.
 Conjunto de librerias
  C/C++.
 Framework común a
  todas las
  aplicaciones basada
  en servicios.
 Aplicaciones base
  implementadas en
  Java (todas
  reemplazables).
   Aplicaciones
     Escritas en Java y empaquetadas en Android
      Package (apk)
     Cada aplicación es independiente
      ▪ Se ejecuta en su propio proceso de Linux
      ▪ Cada proceso tiene su propia máquina virtual de Java
      ▪ Cada aplicación tiene asignado un ID de usuario de Linux
        ▪ Solo ese ID de usuario tiene permisos para acceder a los archivos
          de la aplicación
   Cuando creamos un
    nuevo proyecto Android
    en Eclipse se genera
    automáticamente        la
    estructura de carpetas
    necesaria para poder
    generar posteriormente
    la   aplicación.     Esta
    estructura será común a
    cualquier aplicación.
   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.
   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:
   Carpeta /res/

     /res/drawable/. Contienen las imágenes de la aplicación. Se puede dividir en
        /drawable-ldpi, /drawable-mdpi y /drawable-hdpi para utilizar diferentes
        recursos dependiendo de la resolución del dispositivo.
       /res/layout/. Contienen los ficheros de definición de las diferentes pantallas
        de la interfaz gráfica. Se puede dividir en /layout y /layout-land para definir
        distintos layouts dependiendo de la orientación del dispositivo.
       /res/anim/. Contiene la definición de las animaciones utilizadas por la
        aplicación.
       /res/menu/. Contiene la definición de los menús de la aplicación.
       /res/values/. Contiene otros recursos de la aplicación como por ejemplo
        cadenas de texto (strings.xml), estilos (styles.xml), colores (colors.xml), etc.
       /res/xml/. Contiene los ficheros XML utilizados por la aplicación.
       /res/raw/. Contiene recursos adicionales, normalmente en formato distinto a
        XML, que no se incluyan en el resto de carpetas de recursos.
   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.
   Carpeta /gen/
     El más importante dentro del          public final class R {
      directorio, el fichero R.java, y la
      clase R.                                   public static final class drawable
     Esta clase R contendrá en todo             {
      momento una serie de                            public static final int
      constantes con los ID de todos                  icon=0x7f020000;
      los recursos de la aplicación              }
      incluidos en la carpeta /res/, de          public static final class layout {
      forma que podamos acceder                       public static final int
      facilmente a estos recursos                     main=0x7f030000;
      desde nuestro código a traves              }
      de este dato. Así, por ejemplo,       }
      la constante R.drawable.icon
      contendrá el ID de la imagen
      “icon.png” contenida en la
      carpeta /res/drawable/.
   Carpeta /assets/
     Contiene   todos los demás ficheros auxiliares
      necesarios para la aplicación (y que se incluirán en su
      propio paquete), como por ejemplo ficheros de
      configuración, de datos, etc.

     La diferencia entre los recursos incluidos en la carpeta
      /res/raw/ y los incluidos en la carpeta /assets/ es que
      para los primeros se generará un ID en la clase R y se
      deberá acceder a ellos con los diferentes métodos de
      acceso a recursos. Para los segundos sin embargo no
      se generarán ID y se podrá acceder a ellos por su ruta
      como a cualquier otro fichero del sistema.
   En Java estamos acostumbrados a manejar
    conceptos como ventana, control, eventos o
    servicios como los elementos básicos en la
    construcción de una aplicación.

   En Android vamos a disponer de esos mismos
    elementos básicos aunque con un pequeño
    cambio en la terminología y el enfoque.
   Activity (Actividades)
   View (Vistas)
   Service (Servicios)
   Content Provider
   Broadcast Receiver
   Widget
   Intent
   Activity (Actividad)
     Presenta una interfaz de usuario enfocada en algo que
     el usuario puede realizar.
      ▪ Elegir un contacto, seleccionar una fotografía,…
     Una   aplicación consistirá en un conjunto de
     actividades independientes que trabajan juntas.
      ▪ Una de las actividades se marca como la inicial al arrancar una
        aplicación.
     Se puede pensar en una actividad como el elemento
     análogo a una ventana en cualquier otro lenguaje
     visual.
   View (Vista)
     Los objetos view son los componentes básicos con
     los que se construye la interfaz gráfica de la
     aplicación, análogo por ejemplo a los controles de
     Java.

     Android pone a disposición una gran cantidad de
     controles básicos, como cuadros de texto,
     botones, listas desplegables, imágenes, etc.
   Service (Servicio)
     No tiene UI
     Se ejecuta en background por periodo indefinido.
      ▪ Ej. Reproductor de música
     Expone una interfaz para interactuar.
      ▪ Ej. Parar la reproducción de música
     Es   posible acceder desde otros componentes o
      aplicaciones.
     Pueden realizar cualquier tipo de acciones, por ejemplo
      actualizar datos, lanzar notificaciones, o incluso mostrar
      elementos visuales (activities) si se necesita en algún
      momento la interacción con del usuario.
   Content Provider
     Es un mecanismo que expone un conjunto
     especifico de datos a otras aplicaciones.
     ▪ Los datos pueden estar almacenados en cualquier lugar:
       fichero, SQLite, internet,…
     Hace uso de un ContentResolver para acceder a
     los datos expuestos por un Content Provider.
   Broadcast Receiver
     No realiza ningún acción por si mismo
     Recibe y reacciona ante anuncios de tipo broadcast
      destinado a detectar y reaccionar ante determinados
      mensajes o eventos globales generados por el sistema.
     Existen muchos originados por el sistema
      ▪ Ej. Batería baja, SMS recibido, Tarjeta SD inserta, etc.
     Las aplicaciones puede lanzar un mensaje broadcast, es
      decir, no dirigidos a una aplicación concreta sino a
      cualquiera que quiera escucharlo.
     No tienen UI, aunque pueden iniciar una actividad
      (Activity) para atender al anuncio.
   Widget
     Son     elementos       visuales,   normalmente
     interactivos, que pueden mostrarse en la pantalla
     principal (home screen) del dispositivo Android y
     recibir actualizaciones periódicas.

     Permiten mostrar información de la aplicación al
     usuario directamente sobre la pantalla principal.
   Intent
     Un intent es el elemento básico de comunicación
      entre los distintos componentes Android.
     Se pueden entender como los mensajes o peticiones
      que son enviados entre los distintos componentes de
      una aplicación o entre distintas aplicaciones.
     Mediante un intent se puede mostrar una actividad
      desde cualquier otra, iniciar un servicio, enviar un
      mensaje broadcast, iniciar otra aplicación, etc.
   Content Provider
     Al recibir una petición desde un ContentResolver
   Activity, Service y Broadcast Receiver
     Al recibir un mensaje asíncrono llamado Intent
     En un Activity y Service
      ▪ Representa la intención de querer realizar algo.
      ▪ Ej. La intención de seleccionar un contacto como remitente.
     En Broadcast Receiver
      ▪ Representa el anuncio del comienzo de una acción.
      ▪ Ej. Anunciar que se ha pulsado el botón de la cámara.
   Contiene la definición en XML de los aspectos
    principales       de       la      aplicación
    (AndroidManifest.xml).
   Propiedades de la aplicación
     Identificación (nombre, versión, icono, …),
   Declaración de todos los componentes
    existentes en la aplicación.
     Intent filters
      ▪ Un componente indica a que intent puede responder
   Declaración de los permisos requeridos
     uses-permission
     Acceso a determinado, estado del telefono,
      acceso a internet, etc.
     Los permisos que requiere se muestran al usuario
      al instalar la aplicación

   Declaración de permisos propios
     Restringe que aplicaciones pueden hacer uso de
     un determinado componente
   Las aplicaciones en Android solo tienen un primer
    plano que ocupa toda la pantalla.

   Las aplicaciones están formadas por actividades
    (Activitys).

   En un momento dado una actividad (Activity) pasa al
    primer plano y se coloca por encima de otra formado
    una pila de actividades (Activitys).

   El botón back cierra la actividad (Activity) y recupera
    de la pila la anterior.
   La aplicaciones en Android no tienen control de
    su ciclo de vida.
   Deben estar preparadas para su terminación en
    cualquier momento.
   Cada aplicación se ejecuta en su propio proceso.
   El runtime de Android gestiona el proceso de
    cada aplicación y por extensión de cada
    Actividad que contenga.
Representa una cosa concreta que puede hacer el usuario

    Corresponden con una pantalla
     de la interfaz de usuario.
    Muestra los controles de la
     interfaz de usuario y reacciona
     ante las interacciones del mismo.
    Es una clases derivada de la clase
     Activity.
    Toda actividad se declara en el
     archivo AndroidManifest.xml .
Normalmente una aplicación consta de varias actividades

    Cada pantalla se implementa
     como una actividad.
    Moverse a la siguiente
     actividad supone llamar al
     método
      startActivity()
      startActivityForResult()

    Una aplicación puede reusar
     actividades de android o de
     otras aplicaciones
   Una actividad se compone
    de todo tipo de controles o
    widgets llamados View en
    Android.
    La clase View es la clase
    base de todos los widgets.
    (Button,         EditText,
    TextView…) .
   La clase ViewGroup es la
    clase base de los layouts y
    de otras vistas compuestas.
Creando una Actividad (Activity)




    onCreate:
        Se llama a este método cuando se crea la actividad

    setContentView:
        Asigna a la vista el contenido del recurso layout

    R.layout.main:
        Recurso de layout de la aplicación
Moverse a la siguiente actividad

    Lanza una nueva actividad sin recibir el resultado
      startActivity(intent);

    Lanza una nueva actividad y espera el resultado
      startActivityForResult(intent, requestCode);

    Cuando retorna la actividad llamada, se invoca al método
     onActivityResult pasándole el requestCode con el que se
     lanzó desde la actividad.
    onActivityResult(int requestCode, int resultCode, Intent
     result)
Métodos de transacción de estados

    onCreate(Bundle)
      Se invoca cuando la Actividad se arranca por primera vez.
      Se utiliza para tareas de inicialización como crear la interfaz de usuario
       de la Actividad.
      Su parámetro es null o información de estado guardada previamente
       por onSaveInstanceState()

    onStart()
      Se invoca cuando la Actividad va a ser mostrada al usuario

    onResume()
      Se invoca cuando la actividad va a empezar a interactuar con el
       usuario
Métodos de transacción de estados

   onPause()
     Se invoca cuando la actividad va a pasar al fondo porque
      otra actividad ha sido lanzada para ponerse delante.
     Se utiliza para guardar el estado de la Actividad

   onStop()
     Se invoca cuando la actividad va a dejar de ser visible y no
      se necesitará durante un tiempo.
     Si hay escasez de recursos en el sistema, este método
      podría no llegar a ser invocado y la actividad ser destruida
      directamente
Métodos de transacción de estados

   onRestart()
     Se invoca cuando una actividad parada pasa a estar
     activa.

   onDestory()
     Se invoca cuando la Actividad va a ser destruida.
     Si hay escasez de recursos en el sistema, este método
     podría no llegar a ser invocado y la actividad ser
     destruida directamente.
Métodos de transacción de estados

   onSaveInstanceState(Bundle)
     Se invoca para permitir a la actividad guardar su
      estado de la ui
     Normalmente no necesita ser redefinido

   onRestoreInstanceState(Bundle)
     Se invoca para recuperar el estado guardado por
      onSaveInstanceState().
     Normalmente no necesita ser redefinido
   Representan la “intención” o solicitud de que
    alguno de los componentes lleve a cabo una
    tarea.
   Las intenciones ofrecen un servicio de paso de
    mensajes      que     permite     interconectar
    componentes de la misma o de distintas
    aplicaciones.
   Las intenciones se utilizan para:
     Arrancar actividades
     Enviar eventos a múltiples destinatarios
Hay dos formas de invocar a una intención: explícita, implícita

    Invocación explícita
      Se expecifica explícitamente en código que
      componente es el encargado de manejar la intención.

    Invocación implícita
      Es la plataforma la que determina, a través de un
      proceso de resolución de intenciones, que
      componente es el más apropiado para manerjar la
      intención. Un componente declara su capacidad para
      atender a una intención mediante el tag <intent-filter>
      en el archivo AndroidManifest.xml
   Las intenciones se pueden usar para moverse entre actividades.
   La intención puede ser explícita indicando la actividad destino o
    implícita especificando una acción y unos datos y dejando que se
    encuentre la actividad adecuada en tiempo de ejecución
   Lanzar una actividad de manera explícita
     Intent intent = new Intent(Context, Activity.class);
     startActivity(intent);

   Lanzar una actividad de manera implícita
     Intent intent = new Intent(Intent.ACTION_DIAL, URI.parse(tel:928-76-
      34-26));
     startActivity(intent);
Aplicaciones android

Contenu connexe

Tendances

Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
"Android de la A a la Z" -- Unidad 1
"Android de la A a la Z" -- Unidad 1"Android de la A a la Z" -- Unidad 1
"Android de la A a la Z" -- Unidad 1Android UNAM
 
"Android de la A a la Z" -- Unidad 3
"Android de la A a la Z" -- Unidad 3"Android de la A a la Z" -- Unidad 3
"Android de la A a la Z" -- Unidad 3Android UNAM
 
12j sistemaandroid texto
12j sistemaandroid texto12j sistemaandroid texto
12j sistemaandroid textoHenry Ortiz
 
Trabajo de java
Trabajo de javaTrabajo de java
Trabajo de javajumper2099
 
investigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficainvestigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficaAnel Sosa
 
Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Jorge Ulises
 
"Android de la A a la Z" -- Unidad 4
"Android de la A a la Z" -- Unidad 4"Android de la A a la Z" -- Unidad 4
"Android de la A a la Z" -- Unidad 4Android UNAM
 
Fundamentos de visual basic 6.0
Fundamentos de visual basic 6.0Fundamentos de visual basic 6.0
Fundamentos de visual basic 6.0Jose Ancianis
 
investigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasinvestigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasAnel Sosa
 
"Android de la A a la Z" -- Unidad 9
"Android de la A a la Z" -- Unidad 9"Android de la A a la Z" -- Unidad 9
"Android de la A a la Z" -- Unidad 9Android UNAM
 
Cuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCCCRiis
 
Sistema operativo android de google
Sistema operativo android de googleSistema operativo android de google
Sistema operativo android de googleKevin Melgar
 

Tendances (20)

Curso introducción a android
Curso introducción a android   Curso introducción a android
Curso introducción a android
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Ediciones de java
Ediciones de javaEdiciones de java
Ediciones de java
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
"Android de la A a la Z" -- Unidad 1
"Android de la A a la Z" -- Unidad 1"Android de la A a la Z" -- Unidad 1
"Android de la A a la Z" -- Unidad 1
 
"Android de la A a la Z" -- Unidad 3
"Android de la A a la Z" -- Unidad 3"Android de la A a la Z" -- Unidad 3
"Android de la A a la Z" -- Unidad 3
 
12j sistemaandroid texto
12j sistemaandroid texto12j sistemaandroid texto
12j sistemaandroid texto
 
Trabajo de java
Trabajo de javaTrabajo de java
Trabajo de java
 
investigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficainvestigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz grafica
 
Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1
 
"Android de la A a la Z" -- Unidad 4
"Android de la A a la Z" -- Unidad 4"Android de la A a la Z" -- Unidad 4
"Android de la A a la Z" -- Unidad 4
 
Fundamentos de visual basic 6.0
Fundamentos de visual basic 6.0Fundamentos de visual basic 6.0
Fundamentos de visual basic 6.0
 
Android
AndroidAndroid
Android
 
Android p
Android pAndroid p
Android p
 
investigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasinvestigacion unidad tres componentes y librerias
investigacion unidad tres componentes y librerias
 
Eymi paredes informe programacion
Eymi paredes informe programacionEymi paredes informe programacion
Eymi paredes informe programacion
 
Iphone
IphoneIphone
Iphone
 
"Android de la A a la Z" -- Unidad 9
"Android de la A a la Z" -- Unidad 9"Android de la A a la Z" -- Unidad 9
"Android de la A a la Z" -- Unidad 9
 
Cuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, java
 
Sistema operativo android de google
Sistema operativo android de googleSistema operativo android de google
Sistema operativo android de google
 

En vedette

Ejemplos de seguridad en aplicaciones moviles (IOS)
Ejemplos de seguridad en aplicaciones moviles (IOS) Ejemplos de seguridad en aplicaciones moviles (IOS)
Ejemplos de seguridad en aplicaciones moviles (IOS) Alejandro Ramos
 
Aplicaciones móviles para educadores
Aplicaciones móviles para educadoresAplicaciones móviles para educadores
Aplicaciones móviles para educadoresjameslynn
 
El ciclo de vida de una aplicacion
El ciclo de vida de una aplicacionEl ciclo de vida de una aplicacion
El ciclo de vida de una aplicacionHenrry Cartuche
 
Diseño de aplicaciones móviles - Conceptos, tips & tricks
Diseño de aplicaciones móviles - Conceptos, tips & tricksDiseño de aplicaciones móviles - Conceptos, tips & tricks
Diseño de aplicaciones móviles - Conceptos, tips & tricksSantiago Porras Rodríguez
 
2 aplicaciones web
2 aplicaciones web2 aplicaciones web
2 aplicaciones webUVM
 
Desarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localizaciónDesarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localizaciónSlashMobility.com
 
tutorial de eclipse
tutorial de eclipsetutorial de eclipse
tutorial de eclipseTania Tellez
 
Presentacion eclipse - grupo 6
Presentacion   eclipse - grupo 6Presentacion   eclipse - grupo 6
Presentacion eclipse - grupo 6Maga Lasic
 
Aplicaciones móviles (diapositivas)
Aplicaciones móviles (diapositivas)Aplicaciones móviles (diapositivas)
Aplicaciones móviles (diapositivas)asegundos
 
Ide Eclipse, Breve Guía
Ide Eclipse, Breve GuíaIde Eclipse, Breve Guía
Ide Eclipse, Breve GuíaBenedeti
 
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Desarrollo de Aplicaciones Moviles en Android: Temas AvanzadosDesarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Desarrollo de Aplicaciones Moviles en Android: Temas AvanzadosGabriel Huecas
 
Aplicaciones Moviles
Aplicaciones MovilesAplicaciones Moviles
Aplicaciones MovilesFuibebesuerox
 
Dispositivos moviles
Dispositivos movilesDispositivos moviles
Dispositivos movilesJuan Alvarez
 
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android  - 4 - arquitectura de aplicaciónDesarrollo android  - 4 - arquitectura de aplicación
Desarrollo android - 4 - arquitectura de aplicaciónEmilio Aviles Avila
 
Consideraciones para el Desarrollo de Aplicaciones Móviles
Consideraciones para el Desarrollo de Aplicaciones MóvilesConsideraciones para el Desarrollo de Aplicaciones Móviles
Consideraciones para el Desarrollo de Aplicaciones MóvilesSorey García
 

En vedette (20)

Ejemplos de seguridad en aplicaciones moviles (IOS)
Ejemplos de seguridad en aplicaciones moviles (IOS) Ejemplos de seguridad en aplicaciones moviles (IOS)
Ejemplos de seguridad en aplicaciones moviles (IOS)
 
Primera Parte
Primera PartePrimera Parte
Primera Parte
 
Ejemplos de aplicaciones google
Ejemplos de aplicaciones googleEjemplos de aplicaciones google
Ejemplos de aplicaciones google
 
Aplicaciones móviles para educadores
Aplicaciones móviles para educadoresAplicaciones móviles para educadores
Aplicaciones móviles para educadores
 
El ciclo de vida de una aplicacion
El ciclo de vida de una aplicacionEl ciclo de vida de una aplicacion
El ciclo de vida de una aplicacion
 
Diseño de aplicaciones móviles - Conceptos, tips & tricks
Diseño de aplicaciones móviles - Conceptos, tips & tricksDiseño de aplicaciones móviles - Conceptos, tips & tricks
Diseño de aplicaciones móviles - Conceptos, tips & tricks
 
Tutorial eclipse
Tutorial eclipseTutorial eclipse
Tutorial eclipse
 
2 aplicaciones web
2 aplicaciones web2 aplicaciones web
2 aplicaciones web
 
Desarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localizaciónDesarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localización
 
tutorial de eclipse
tutorial de eclipsetutorial de eclipse
tutorial de eclipse
 
Presentacion eclipse - grupo 6
Presentacion   eclipse - grupo 6Presentacion   eclipse - grupo 6
Presentacion eclipse - grupo 6
 
Aplicaciones móviles
Aplicaciones móvilesAplicaciones móviles
Aplicaciones móviles
 
Java con eclipse
Java con eclipseJava con eclipse
Java con eclipse
 
Aplicaciones móviles (diapositivas)
Aplicaciones móviles (diapositivas)Aplicaciones móviles (diapositivas)
Aplicaciones móviles (diapositivas)
 
Ide Eclipse, Breve Guía
Ide Eclipse, Breve GuíaIde Eclipse, Breve Guía
Ide Eclipse, Breve Guía
 
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Desarrollo de Aplicaciones Moviles en Android: Temas AvanzadosDesarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
 
Aplicaciones Moviles
Aplicaciones MovilesAplicaciones Moviles
Aplicaciones Moviles
 
Dispositivos moviles
Dispositivos movilesDispositivos moviles
Dispositivos moviles
 
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android  - 4 - arquitectura de aplicaciónDesarrollo android  - 4 - arquitectura de aplicación
Desarrollo android - 4 - arquitectura de aplicación
 
Consideraciones para el Desarrollo de Aplicaciones Móviles
Consideraciones para el Desarrollo de Aplicaciones MóvilesConsideraciones para el Desarrollo de Aplicaciones Móviles
Consideraciones para el Desarrollo de Aplicaciones Móviles
 

Similaire à Aplicaciones android

Introducción a Android
Introducción a AndroidIntroducción a Android
Introducción a Androidmcanalesc94
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en androidKarla Silva
 
Presentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de TelefónicaPresentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de TelefónicaJavier Tellez Dones
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo AndroidAlfredo Aguayo
 
Instrucciones y estructuras
Instrucciones y estructurasInstrucciones y estructuras
Instrucciones y estructurasFernand Bernowly
 
Curso de desarrollo de aplicaciones Android - Sesión 1
Curso de desarrollo de aplicaciones Android - Sesión 1Curso de desarrollo de aplicaciones Android - Sesión 1
Curso de desarrollo de aplicaciones Android - Sesión 1Daniel Alvarez
 
Componentes para programar en android
Componentes para programar en androidComponentes para programar en android
Componentes para programar en androidJessarin Kitty Cosmic
 
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
Android de la A a la Z  PARTE 2 de 3 ulises gonzalezAndroid de la A a la Z  PARTE 2 de 3 ulises gonzalez
Android de la A a la Z PARTE 2 de 3 ulises gonzalezAndroid UNAM
 
Componentes necesarios de android docx
Componentes necesarios de android  docxComponentes necesarios de android  docx
Componentes necesarios de android docxgrachika
 
Introducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderIntroducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderjezabelink
 
Elementos de eclipse
Elementos de eclipseElementos de eclipse
Elementos de eclipseHeidiie Hdz
 
Elementos de eclipse
Elementos de eclipseElementos de eclipse
Elementos de eclipsePVarely24
 
Píldora 1: Android intro
Píldora 1: Android introPíldora 1: Android intro
Píldora 1: Android introhojalataverde
 

Similaire à Aplicaciones android (20)

Introducción a Android
Introducción a AndroidIntroducción a Android
Introducción a Android
 
App inventor
App inventorApp inventor
App inventor
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en android
 
Presentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de TelefónicaPresentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de Telefónica
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo Android
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo Android
 
Instrucciones y estructuras
Instrucciones y estructurasInstrucciones y estructuras
Instrucciones y estructuras
 
Curso desarrollo en android
Curso desarrollo en androidCurso desarrollo en android
Curso desarrollo en android
 
Estructuras sdk
Estructuras sdkEstructuras sdk
Estructuras sdk
 
Curso de desarrollo de aplicaciones Android - Sesión 1
Curso de desarrollo de aplicaciones Android - Sesión 1Curso de desarrollo de aplicaciones Android - Sesión 1
Curso de desarrollo de aplicaciones Android - Sesión 1
 
Componentes para programar en android
Componentes para programar en androidComponentes para programar en android
Componentes para programar en android
 
Androidoriiginal
AndroidoriiginalAndroidoriiginal
Androidoriiginal
 
Taller de Android
Taller de AndroidTaller de Android
Taller de Android
 
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
Android de la A a la Z  PARTE 2 de 3 ulises gonzalezAndroid de la A a la Z  PARTE 2 de 3 ulises gonzalez
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
 
Componentes necesarios de android docx
Componentes necesarios de android  docxComponentes necesarios de android  docx
Componentes necesarios de android docx
 
Introducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderIntroducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entender
 
Elementos de eclipse
Elementos de eclipseElementos de eclipse
Elementos de eclipse
 
Elementos de eclipse
Elementos de eclipseElementos de eclipse
Elementos de eclipse
 
Píldora 1: Android intro
Píldora 1: Android introPíldora 1: Android intro
Píldora 1: Android intro
 
Curso Introducción a android
Curso Introducción a androidCurso Introducción a android
Curso Introducción a android
 

Dernier

periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)veganet
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 

Dernier (20)

periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 

Aplicaciones android

  • 1.
  • 2. Paso 1:  JDK de Java.  Paso 2:  Eclipse (recomendado IDE for Java Developers)  Paso 3:  Android SDK (paquete con las herramientas básicas para desarrolar aplicaciones) ▪ Incluye SDK y AVD Manager ▪ Instalar los Targets necesarios.
  • 3. Paso 4:  Android Development Tools (ADT) ▪ Plug-in para Eclipse ▪ Incluye vista DDMS ▪ Procesos en ejecución ▪ Navegación por el sistema de ficheros ▪ Logs ▪ Proyecto, editor de vistas, compilación de recursos, firma y exportación de aplicaciones,…
  • 4. Paso 5:  Configurar el Plugin ADT ▪ En la ventana de configuración de Eclipse, se debe acceder a la sección de Android e indicar la ruta en la que se ha instalado el SDK.  Paso 6:  Configurar Android Virtual Device (AVD) ▪ A la hora de probar y depurar aplicaciones Android no tendremos que hacerlo necesariamente sobre un dispositivo físico, sino que podremos configurar un emulador o dispositivo virtual.
  • 5. Android es un sistema operativo móvil basado en Linux, que junto con aplicaciones middleware está enfocado para ser utilizado en dispositivos móviles como teléfonos inteligentes, tabletas, Google TV y otros dispositivos. Es desarrollado por la Open Handset Alliance, la cual es liderada por Google.
  • 6. Framework de aplicación que habilita la reutilización y reemplazo de componentes.  Máquina virtual Dalvik optimizada para móviles.  Navegador integrado basado en WebKit .  Gráficos optimizados por una librería gráfica 2D propia; gráficos 3D basados en la especificación OpenGL.  SQLite para almacenamiento de datos estructurados.
  • 7. Soporte para gran variedad de archivos multimedia (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).  Telefonía GSM.  Bluetooth, EDGE, 3G y WiFi (4G, WiMAX,…).  Cámara, GPS, compás, acelerómetro,…  Entorno de desarrollo completo incluyendo emulador, herramientas de depuración, profiling de memoria y rendimiento y plugin para el IDE Eclipse.
  • 8. Apple - iPhone OS  RIM – Blackberry  Microsoft - Windows Mobile 6.5, Phone 7 Series  Symbian Foundation - Symbian OS  Palm - WebOS
  • 9. HTC  Dream, Magic (myTouch3G), Hero, Tattoo, Nexus One(*), Desire, Legend  Motorola  CLIQ, Droid (Milestone), DEXT  Acer, Archos, Dell, Huawei, Lenovo, LG, Samsumg, Sony Ericsson,…
  • 10.  Kernel linux 2.6.  Runtime basado en VM Dalvik.  Conjunto de librerias C/C++.  Framework común a todas las aplicaciones basada en servicios.  Aplicaciones base implementadas en Java (todas reemplazables).
  • 11. Aplicaciones  Escritas en Java y empaquetadas en Android Package (apk)  Cada aplicación es independiente ▪ Se ejecuta en su propio proceso de Linux ▪ Cada proceso tiene su propia máquina virtual de Java ▪ Cada aplicación tiene asignado un ID de usuario de Linux ▪ Solo ese ID de usuario tiene permisos para acceder a los archivos de la aplicación
  • 12. Cuando creamos un nuevo proyecto Android en Eclipse se genera automáticamente la estructura de carpetas necesaria para poder generar posteriormente la aplicación. Esta estructura será común a cualquier aplicación.
  • 13. 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.
  • 14. 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:
  • 15. Carpeta /res/  /res/drawable/. Contienen las imágenes de la aplicación. Se puede dividir en /drawable-ldpi, /drawable-mdpi y /drawable-hdpi para utilizar diferentes recursos dependiendo de la resolución del dispositivo.  /res/layout/. Contienen los ficheros de definición de las diferentes pantallas de la interfaz gráfica. Se puede dividir en /layout y /layout-land para definir distintos layouts dependiendo de la orientación del dispositivo.  /res/anim/. Contiene la definición de las animaciones utilizadas por la aplicación.  /res/menu/. Contiene la definición de los menús de la aplicación.  /res/values/. Contiene otros recursos de la aplicación como por ejemplo cadenas de texto (strings.xml), estilos (styles.xml), colores (colors.xml), etc.  /res/xml/. Contiene los ficheros XML utilizados por la aplicación.  /res/raw/. Contiene recursos adicionales, normalmente en formato distinto a XML, que no se incluyan en el resto de carpetas de recursos.
  • 16. 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.
  • 17. Carpeta /gen/  El más importante dentro del public final class R { directorio, el fichero R.java, y la clase R. public static final class drawable  Esta clase R contendrá en todo { momento una serie de public static final int constantes con los ID de todos icon=0x7f020000; los recursos de la aplicación } incluidos en la carpeta /res/, de public static final class layout { forma que podamos acceder public static final int facilmente a estos recursos main=0x7f030000; desde nuestro código a traves } de este dato. Así, por ejemplo, } la constante R.drawable.icon contendrá el ID de la imagen “icon.png” contenida en la carpeta /res/drawable/.
  • 18. Carpeta /assets/  Contiene todos los demás ficheros auxiliares necesarios para la aplicación (y que se incluirán en su propio paquete), como por ejemplo ficheros de configuración, de datos, etc.  La diferencia entre los recursos incluidos en la carpeta /res/raw/ y los incluidos en la carpeta /assets/ es que para los primeros se generará un ID en la clase R y se deberá acceder a ellos con los diferentes métodos de acceso a recursos. Para los segundos sin embargo no se generarán ID y se podrá acceder a ellos por su ruta como a cualquier otro fichero del sistema.
  • 19. En Java estamos acostumbrados a manejar conceptos como ventana, control, eventos o servicios como los elementos básicos en la construcción de una aplicación.  En Android vamos a disponer de esos mismos elementos básicos aunque con un pequeño cambio en la terminología y el enfoque.
  • 20. Activity (Actividades)  View (Vistas)  Service (Servicios)  Content Provider  Broadcast Receiver  Widget  Intent
  • 21. Activity (Actividad)  Presenta una interfaz de usuario enfocada en algo que el usuario puede realizar. ▪ Elegir un contacto, seleccionar una fotografía,…  Una aplicación consistirá en un conjunto de actividades independientes que trabajan juntas. ▪ Una de las actividades se marca como la inicial al arrancar una aplicación.  Se puede pensar en una actividad como el elemento análogo a una ventana en cualquier otro lenguaje visual.
  • 22. View (Vista)  Los objetos view son los componentes básicos con los que se construye la interfaz gráfica de la aplicación, análogo por ejemplo a los controles de Java.  Android pone a disposición una gran cantidad de controles básicos, como cuadros de texto, botones, listas desplegables, imágenes, etc.
  • 23. Service (Servicio)  No tiene UI  Se ejecuta en background por periodo indefinido. ▪ Ej. Reproductor de música  Expone una interfaz para interactuar. ▪ Ej. Parar la reproducción de música  Es posible acceder desde otros componentes o aplicaciones.  Pueden realizar cualquier tipo de acciones, por ejemplo actualizar datos, lanzar notificaciones, o incluso mostrar elementos visuales (activities) si se necesita en algún momento la interacción con del usuario.
  • 24. Content Provider  Es un mecanismo que expone un conjunto especifico de datos a otras aplicaciones. ▪ Los datos pueden estar almacenados en cualquier lugar: fichero, SQLite, internet,…  Hace uso de un ContentResolver para acceder a los datos expuestos por un Content Provider.
  • 25. Broadcast Receiver  No realiza ningún acción por si mismo  Recibe y reacciona ante anuncios de tipo broadcast destinado a detectar y reaccionar ante determinados mensajes o eventos globales generados por el sistema.  Existen muchos originados por el sistema ▪ Ej. Batería baja, SMS recibido, Tarjeta SD inserta, etc.  Las aplicaciones puede lanzar un mensaje broadcast, es decir, no dirigidos a una aplicación concreta sino a cualquiera que quiera escucharlo.  No tienen UI, aunque pueden iniciar una actividad (Activity) para atender al anuncio.
  • 26. Widget  Son elementos visuales, normalmente interactivos, que pueden mostrarse en la pantalla principal (home screen) del dispositivo Android y recibir actualizaciones periódicas.  Permiten mostrar información de la aplicación al usuario directamente sobre la pantalla principal.
  • 27. Intent  Un intent es el elemento básico de comunicación entre los distintos componentes Android.  Se pueden entender como los mensajes o peticiones que son enviados entre los distintos componentes de una aplicación o entre distintas aplicaciones.  Mediante un intent se puede mostrar una actividad desde cualquier otra, iniciar un servicio, enviar un mensaje broadcast, iniciar otra aplicación, etc.
  • 28. Content Provider  Al recibir una petición desde un ContentResolver  Activity, Service y Broadcast Receiver  Al recibir un mensaje asíncrono llamado Intent  En un Activity y Service ▪ Representa la intención de querer realizar algo. ▪ Ej. La intención de seleccionar un contacto como remitente.  En Broadcast Receiver ▪ Representa el anuncio del comienzo de una acción. ▪ Ej. Anunciar que se ha pulsado el botón de la cámara.
  • 29. Contiene la definición en XML de los aspectos principales de la aplicación (AndroidManifest.xml).  Propiedades de la aplicación  Identificación (nombre, versión, icono, …),  Declaración de todos los componentes existentes en la aplicación.  Intent filters ▪ Un componente indica a que intent puede responder
  • 30. Declaración de los permisos requeridos  uses-permission  Acceso a determinado, estado del telefono, acceso a internet, etc.  Los permisos que requiere se muestran al usuario al instalar la aplicación  Declaración de permisos propios  Restringe que aplicaciones pueden hacer uso de un determinado componente
  • 31.
  • 32. Las aplicaciones en Android solo tienen un primer plano que ocupa toda la pantalla.  Las aplicaciones están formadas por actividades (Activitys).  En un momento dado una actividad (Activity) pasa al primer plano y se coloca por encima de otra formado una pila de actividades (Activitys).  El botón back cierra la actividad (Activity) y recupera de la pila la anterior.
  • 33. La aplicaciones en Android no tienen control de su ciclo de vida.  Deben estar preparadas para su terminación en cualquier momento.  Cada aplicación se ejecuta en su propio proceso.  El runtime de Android gestiona el proceso de cada aplicación y por extensión de cada Actividad que contenga.
  • 34. Representa una cosa concreta que puede hacer el usuario  Corresponden con una pantalla de la interfaz de usuario.  Muestra los controles de la interfaz de usuario y reacciona ante las interacciones del mismo.  Es una clases derivada de la clase Activity.  Toda actividad se declara en el archivo AndroidManifest.xml .
  • 35. Normalmente una aplicación consta de varias actividades  Cada pantalla se implementa como una actividad.  Moverse a la siguiente actividad supone llamar al método  startActivity()  startActivityForResult()  Una aplicación puede reusar actividades de android o de otras aplicaciones
  • 36. Una actividad se compone de todo tipo de controles o widgets llamados View en Android.  La clase View es la clase base de todos los widgets. (Button, EditText, TextView…) .  La clase ViewGroup es la clase base de los layouts y de otras vistas compuestas.
  • 37. Creando una Actividad (Activity)  onCreate:  Se llama a este método cuando se crea la actividad  setContentView:  Asigna a la vista el contenido del recurso layout  R.layout.main:  Recurso de layout de la aplicación
  • 38. Moverse a la siguiente actividad  Lanza una nueva actividad sin recibir el resultado  startActivity(intent);  Lanza una nueva actividad y espera el resultado  startActivityForResult(intent, requestCode);  Cuando retorna la actividad llamada, se invoca al método onActivityResult pasándole el requestCode con el que se lanzó desde la actividad.  onActivityResult(int requestCode, int resultCode, Intent result)
  • 39. Métodos de transacción de estados  onCreate(Bundle)  Se invoca cuando la Actividad se arranca por primera vez.  Se utiliza para tareas de inicialización como crear la interfaz de usuario de la Actividad.  Su parámetro es null o información de estado guardada previamente por onSaveInstanceState()  onStart()  Se invoca cuando la Actividad va a ser mostrada al usuario  onResume()  Se invoca cuando la actividad va a empezar a interactuar con el usuario
  • 40. Métodos de transacción de estados  onPause()  Se invoca cuando la actividad va a pasar al fondo porque otra actividad ha sido lanzada para ponerse delante.  Se utiliza para guardar el estado de la Actividad  onStop()  Se invoca cuando la actividad va a dejar de ser visible y no se necesitará durante un tiempo.  Si hay escasez de recursos en el sistema, este método podría no llegar a ser invocado y la actividad ser destruida directamente
  • 41. Métodos de transacción de estados  onRestart()  Se invoca cuando una actividad parada pasa a estar activa.  onDestory()  Se invoca cuando la Actividad va a ser destruida.  Si hay escasez de recursos en el sistema, este método podría no llegar a ser invocado y la actividad ser destruida directamente.
  • 42. Métodos de transacción de estados  onSaveInstanceState(Bundle)  Se invoca para permitir a la actividad guardar su estado de la ui  Normalmente no necesita ser redefinido  onRestoreInstanceState(Bundle)  Se invoca para recuperar el estado guardado por onSaveInstanceState().  Normalmente no necesita ser redefinido
  • 43.
  • 44. Representan la “intención” o solicitud de que alguno de los componentes lleve a cabo una tarea.  Las intenciones ofrecen un servicio de paso de mensajes que permite interconectar componentes de la misma o de distintas aplicaciones.  Las intenciones se utilizan para:  Arrancar actividades  Enviar eventos a múltiples destinatarios
  • 45. Hay dos formas de invocar a una intención: explícita, implícita  Invocación explícita  Se expecifica explícitamente en código que componente es el encargado de manejar la intención.  Invocación implícita  Es la plataforma la que determina, a través de un proceso de resolución de intenciones, que componente es el más apropiado para manerjar la intención. Un componente declara su capacidad para atender a una intención mediante el tag <intent-filter> en el archivo AndroidManifest.xml
  • 46. Las intenciones se pueden usar para moverse entre actividades.  La intención puede ser explícita indicando la actividad destino o implícita especificando una acción y unos datos y dejando que se encuentre la actividad adecuada en tiempo de ejecución  Lanzar una actividad de manera explícita  Intent intent = new Intent(Context, Activity.class);  startActivity(intent);  Lanzar una actividad de manera implícita  Intent intent = new Intent(Intent.ACTION_DIAL, URI.parse(tel:928-76- 34-26));  startActivity(intent);