SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
INTRODUCCIÓN A ANDROID
Creación de aplicaciones móviles para Android
Por Francisco J. Recio Portillo para → http://www.toString.es
Historia [0]
Creación de aplicaciones móviles para Android
● Julio 2005
● Google adquiere Android, Inc.
● Pequeña empresa que desarrolla software para móviles (hasta
entonces una gran desconocida)
● Noviembre 2007
● Nace la Open Handset Alliance
● Consorcio de empresas unidas con el objetivo de desarrollar
estándares abiertos para móviles
● Texas Instruments, Broadcom co., Google, HTC, Intel, LG, Marvel
Tech., Motorola, Nvidia, Qualcomm, Samsumg Electonics, Sprint
Nextel, T-Mobile
● Se anuncia su primer producto, Android, plataforma para móviles
construida sobre el kernel de Linux 2.6
● Octubre 2008
● Publicado el proyecto open source Android
● Distribuido principalmente con licencia Apache 2.0
● Partes en otras licencias, p.e. GPL v2 para el núcleo
● Se abre el Android Market
● HTC Dream (G1), primer teléfono con Android
● Diciembre 2008
● Nuevas incorporaciones
● ARM Holdings, Athreos Communications, Asustek Computer
Inc., Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp y
Vodafone Group Plc.
Historia [1]
Creación de aplicaciones móviles para Android
● Noviembre 2009
● Motorola Droid
● Consigue vender 1.05 millones de unidades en 74 días,
superando el record establecido por el iPhone de Apple
● Diciembre 2009
● 16.000 aplicaciones en el Market
● 60% gratuitas, 30% de pago aproximadamente
● Febrero 2010
● Google anuncia la buena marcha de Android
● 60.000 teléfonos con Android vendidos al día
Historia [2]
Creación de aplicaciones móviles para Android
● Características
● 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 ES 3.0
● SQLite para almacenamiento de datos estructurados
● Multi-táctil soporte nativo para pantallas capacitivas
● Soporte para gran variedad de archivos multimedia (MPEG4, H.264,
● MP3, AAC, AMR, JPG, PNG, GIF)
● Telefonía GSM
● Bluetooth, EDGE, 4G y WiFi (4G, WiMAX,...)
● Cámara, GPS, compás, acelerómetro...
● Tethering: usar al dispositivo como punto de acceso inalámbrico
● Entorno de desarrollo completo incluyendo emulador, herramientas
● de depuración, profiling de memoria y rendimiento.
● IDE → Android Studio y Eclipse
Características
Creación de aplicaciones móviles para Android
Arquitectura
Creación de aplicaciones móviles para Android
● 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
● Componentes básicos de una aplicación
● Actividades
● Servicios
● Broadcast receivers
● Content providers
Modelo de Aplicaciones [0]
Creación de aplicaciones móviles para Android
● 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
● 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
Modelo de Aplicaciones [1]
Creación de aplicaciones móviles para Android
● Broadcast receivers
● No realiza ningún acción por si mismo
● Recibe y reacciona ante anuncios de tipo broadcast
● Existen muchos originados por el sistema
● Ej. Batería baja
● Las aplicaciones puede lanzar un broadcast
● No tienen UI, aunque pueden iniciar una actividad para
atender al anuncio
● Content providers
● 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
Modelo de Aplicaciones [2]
Creación de aplicaciones móviles para Android
● Activación de los componentes
● Content providers
● Al recibir una petición desde un ContentResolver
● Actividades, Servicios y Broadcast Receivers
● Al recibir un mensaje asíncrono llamado Intención (Intent)
● En actividades y servicios
● Representa la intención de querer realizar algo
● Ej. La intención de seleccionar un contacto como remitente
● En broadcast receivers
● Representa el anuncio del comienzo de una acción
● Ej. Anunciar que se ha pulsado el botón de la cámara
● Parada de componentes:
● Los content providers y broadcast receivers tienen por definición
● un tiempo limitado de actividad, no necesitan pararse explícitamente.
● Android proporciona métodos para parar de forma ordenada
Activities y services que están en ejecución.
● Cualquier componente puede ser finalizado por el sistema cuando
se detecta que no va a utilizarse o se necesitan recursos extras.
Modelo de Aplicaciones [3]
Creación de aplicaciones móviles para Android
● El fichero de manifiesto
● Propiedades de la aplicación
● Declaración de todos los componentes existentes en la aplicación
● Intent filters
● Un componente indica a intenciones 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
Modelo de Aplicaciones [4]
Creación de aplicaciones móviles para Android
● La aplicaciones en Android solo tienen un primer plano que ocupa
toda la pantalla
● Las aplicaciones están formadas por actividades
● En un momento dado una actividad pasa al primer plano y se
● coloca por encima de otra formado una pila de actividades
● El botón back cierra la actividad 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.
● Para programar en Android se requiere un conocimiento de JAVA
Aplicaciones [0]
Creación de aplicaciones móviles para Android
● 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
Aplicaciones [1]
Creación de aplicaciones móviles para Android
● 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
Aplicaciones [2]
Creación de aplicaciones móviles para Android
● Android provee de un conjunto de Views
para ayudarnos a crear interfaces simples
● y modificarlos o extenderlos.
● View
● 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
Actividades
Creación de aplicaciones móviles para Android
public class HolaMundo extends Activity {
@Override
public void onCreate(Bundle saveInstanceState) {
super.onCreate(saveInstanceState);
setContentView(R.layout.main);
}
● Estados de una actividad
● Activo (Running): La actividad está encima de la pila, es visible,
tiene el foco.
● Pausado (Paused): La actividad es visible pero no tiene el foco.
Se alcanza este estado cuando pasa a activa otra actividad
transparente o que no ocupa toda la pantalla. Cuando una
Actividad es tapada por completo pasa a estar parada.
● Parado (Stopped): Cuando la actividad no es visible. Se recomienda
guardar el estado de la ui, preferencias, etc
● Destruido (Destroyed): Cuando la Actividad termina, o es matada
por el runtime de Android. Sale de la Pila de Actividades.
Ciclo de Vida [0]
Creación de aplicaciones móviles para Android
● Métodos de transició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
● 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
Ciclo de Vida [1]
Creación de aplicaciones móviles para Android
● Métodos de transición de estados
● 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
● 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.
Ciclo de Vida [2]
Creación de aplicaciones móviles para Android
Ciclo de Vida [3]
Creación de aplicaciones móviles para Android
● 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
Intenciones (Intent) [0]
Creación de aplicaciones móviles para Android
● 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:...));
startActivity(intent);
● Una actividad también se puede lanzar para que devuelva un
resultado mediante el método startActivityForResult
● Cuando termina esta subactividad se llama al método
● onActivityResult de la actividad padre desde
la que fue arrancada
Intenciones (Intent) [1]
Creación de aplicaciones móviles para Android

Más contenido relacionado

Similar a Introducción a Android

Tema 4.2.2 Desarrollo con Android. El Framework de Android.
Tema 4.2.2 Desarrollo con Android. El Framework de Android.Tema 4.2.2 Desarrollo con Android. El Framework de Android.
Tema 4.2.2 Desarrollo con Android. El Framework de Android.Carlos A. Iglesias
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweetsJorge Soro
 
Curso Android Tema 2
Curso Android Tema 2Curso Android Tema 2
Curso Android Tema 2Frank Jorge
 
Taller Práctico de Android
Taller Práctico de AndroidTaller Práctico de Android
Taller Práctico de AndroidJavier Muñoz
 
Introducción al desarrollo de aplicaciones Android
Introducción al desarrollo de aplicaciones AndroidIntroducción al desarrollo de aplicaciones Android
Introducción al desarrollo de aplicaciones AndroidFacundo Rodríguez Arceri
 
Tema 4 3_3_interfaces_de_usuario
Tema 4 3_3_interfaces_de_usuarioTema 4 3_3_interfaces_de_usuario
Tema 4 3_3_interfaces_de_usuarioCarlos A. Iglesias
 
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
 
Curso introducción a Android
Curso introducción a AndroidCurso introducción a Android
Curso introducción a AndroidSlashMobility.com
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olothojalataverde
 
Android 24 01 getting started with android
Android 24 01 getting started with androidAndroid 24 01 getting started with android
Android 24 01 getting started with androidArturo Linares Valverde
 
Android la plataforma móvil open source
Android la plataforma móvil open sourceAndroid la plataforma móvil open source
Android la plataforma móvil open sourceIsrael Camacho
 
Píldora 1: Android intro
Píldora 1: Android introPíldora 1: Android intro
Píldora 1: Android introhojalataverde
 

Similar a Introducción a Android (20)

Tema 4.2.2 Desarrollo con Android. El Framework de Android.
Tema 4.2.2 Desarrollo con Android. El Framework de Android.Tema 4.2.2 Desarrollo con Android. El Framework de Android.
Tema 4.2.2 Desarrollo con Android. El Framework de Android.
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweets
 
Curso Android Tema 2
Curso Android Tema 2Curso Android Tema 2
Curso Android Tema 2
 
Taller Práctico de Android
Taller Práctico de AndroidTaller Práctico de Android
Taller Práctico de Android
 
Curso Desarrollo Android
Curso Desarrollo AndroidCurso Desarrollo Android
Curso Desarrollo Android
 
Seminario Android inicial 2014
Seminario Android inicial 2014Seminario Android inicial 2014
Seminario Android inicial 2014
 
Introducción al desarrollo de aplicaciones Android
Introducción al desarrollo de aplicaciones AndroidIntroducción al desarrollo de aplicaciones Android
Introducción al desarrollo de aplicaciones Android
 
Tema 4 3_3_interfaces_de_usuario
Tema 4 3_3_interfaces_de_usuarioTema 4 3_3_interfaces_de_usuario
Tema 4 3_3_interfaces_de_usuario
 
Android Pres3
Android Pres3Android Pres3
Android Pres3
 
Curso Introducción a android
Curso Introducción a androidCurso Introducción a android
Curso Introducción a android
 
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
 
Curso introducción a android
Curso introducción a android   Curso introducción a android
Curso introducción a android
 
Curso introducción a Android
Curso introducción a AndroidCurso introducción a Android
Curso introducción a Android
 
Curso desarrollo en android
Curso desarrollo en androidCurso desarrollo en android
Curso desarrollo en android
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olot
 
Curso Android 2021
Curso Android  2021Curso Android  2021
Curso Android 2021
 
Slides1
Slides1Slides1
Slides1
 
Android 24 01 getting started with android
Android 24 01 getting started with androidAndroid 24 01 getting started with android
Android 24 01 getting started with android
 
Android la plataforma móvil open source
Android la plataforma móvil open sourceAndroid la plataforma móvil open source
Android la plataforma móvil open source
 
Píldora 1: Android intro
Píldora 1: Android introPíldora 1: Android intro
Píldora 1: Android intro
 

Introducción a Android

  • 1. INTRODUCCIÓN A ANDROID Creación de aplicaciones móviles para Android Por Francisco J. Recio Portillo para → http://www.toString.es
  • 2. Historia [0] Creación de aplicaciones móviles para Android ● Julio 2005 ● Google adquiere Android, Inc. ● Pequeña empresa que desarrolla software para móviles (hasta entonces una gran desconocida) ● Noviembre 2007 ● Nace la Open Handset Alliance ● Consorcio de empresas unidas con el objetivo de desarrollar estándares abiertos para móviles ● Texas Instruments, Broadcom co., Google, HTC, Intel, LG, Marvel Tech., Motorola, Nvidia, Qualcomm, Samsumg Electonics, Sprint Nextel, T-Mobile ● Se anuncia su primer producto, Android, plataforma para móviles construida sobre el kernel de Linux 2.6
  • 3. ● Octubre 2008 ● Publicado el proyecto open source Android ● Distribuido principalmente con licencia Apache 2.0 ● Partes en otras licencias, p.e. GPL v2 para el núcleo ● Se abre el Android Market ● HTC Dream (G1), primer teléfono con Android ● Diciembre 2008 ● Nuevas incorporaciones ● ARM Holdings, Athreos Communications, Asustek Computer Inc., Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp y Vodafone Group Plc. Historia [1] Creación de aplicaciones móviles para Android
  • 4. ● Noviembre 2009 ● Motorola Droid ● Consigue vender 1.05 millones de unidades en 74 días, superando el record establecido por el iPhone de Apple ● Diciembre 2009 ● 16.000 aplicaciones en el Market ● 60% gratuitas, 30% de pago aproximadamente ● Febrero 2010 ● Google anuncia la buena marcha de Android ● 60.000 teléfonos con Android vendidos al día Historia [2] Creación de aplicaciones móviles para Android
  • 5. ● Características ● 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 ES 3.0 ● SQLite para almacenamiento de datos estructurados ● Multi-táctil soporte nativo para pantallas capacitivas ● Soporte para gran variedad de archivos multimedia (MPEG4, H.264, ● MP3, AAC, AMR, JPG, PNG, GIF) ● Telefonía GSM ● Bluetooth, EDGE, 4G y WiFi (4G, WiMAX,...) ● Cámara, GPS, compás, acelerómetro... ● Tethering: usar al dispositivo como punto de acceso inalámbrico ● Entorno de desarrollo completo incluyendo emulador, herramientas ● de depuración, profiling de memoria y rendimiento. ● IDE → Android Studio y Eclipse Características Creación de aplicaciones móviles para Android
  • 7. ● 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 ● Componentes básicos de una aplicación ● Actividades ● Servicios ● Broadcast receivers ● Content providers Modelo de Aplicaciones [0] Creación de aplicaciones móviles para Android
  • 8. ● 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 ● 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 Modelo de Aplicaciones [1] Creación de aplicaciones móviles para Android
  • 9. ● Broadcast receivers ● No realiza ningún acción por si mismo ● Recibe y reacciona ante anuncios de tipo broadcast ● Existen muchos originados por el sistema ● Ej. Batería baja ● Las aplicaciones puede lanzar un broadcast ● No tienen UI, aunque pueden iniciar una actividad para atender al anuncio ● Content providers ● 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 Modelo de Aplicaciones [2] Creación de aplicaciones móviles para Android
  • 10. ● Activación de los componentes ● Content providers ● Al recibir una petición desde un ContentResolver ● Actividades, Servicios y Broadcast Receivers ● Al recibir un mensaje asíncrono llamado Intención (Intent) ● En actividades y servicios ● Representa la intención de querer realizar algo ● Ej. La intención de seleccionar un contacto como remitente ● En broadcast receivers ● Representa el anuncio del comienzo de una acción ● Ej. Anunciar que se ha pulsado el botón de la cámara ● Parada de componentes: ● Los content providers y broadcast receivers tienen por definición ● un tiempo limitado de actividad, no necesitan pararse explícitamente. ● Android proporciona métodos para parar de forma ordenada Activities y services que están en ejecución. ● Cualquier componente puede ser finalizado por el sistema cuando se detecta que no va a utilizarse o se necesitan recursos extras. Modelo de Aplicaciones [3] Creación de aplicaciones móviles para Android
  • 11. ● El fichero de manifiesto ● Propiedades de la aplicación ● Declaración de todos los componentes existentes en la aplicación ● Intent filters ● Un componente indica a intenciones 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 Modelo de Aplicaciones [4] Creación de aplicaciones móviles para Android
  • 12. ● La aplicaciones en Android solo tienen un primer plano que ocupa toda la pantalla ● Las aplicaciones están formadas por actividades ● En un momento dado una actividad pasa al primer plano y se ● coloca por encima de otra formado una pila de actividades ● El botón back cierra la actividad 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. ● Para programar en Android se requiere un conocimiento de JAVA Aplicaciones [0] Creación de aplicaciones móviles para Android
  • 13. ● 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 Aplicaciones [1] Creación de aplicaciones móviles para Android
  • 14. ● 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 Aplicaciones [2] Creación de aplicaciones móviles para Android
  • 15. ● Android provee de un conjunto de Views para ayudarnos a crear interfaces simples ● y modificarlos o extenderlos. ● View ● 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 Actividades Creación de aplicaciones móviles para Android public class HolaMundo extends Activity { @Override public void onCreate(Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.main); }
  • 16. ● Estados de una actividad ● Activo (Running): La actividad está encima de la pila, es visible, tiene el foco. ● Pausado (Paused): La actividad es visible pero no tiene el foco. Se alcanza este estado cuando pasa a activa otra actividad transparente o que no ocupa toda la pantalla. Cuando una Actividad es tapada por completo pasa a estar parada. ● Parado (Stopped): Cuando la actividad no es visible. Se recomienda guardar el estado de la ui, preferencias, etc ● Destruido (Destroyed): Cuando la Actividad termina, o es matada por el runtime de Android. Sale de la Pila de Actividades. Ciclo de Vida [0] Creación de aplicaciones móviles para Android
  • 17. ● Métodos de transició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 ● 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 Ciclo de Vida [1] Creación de aplicaciones móviles para Android
  • 18. ● Métodos de transición de estados ● 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 ● 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. Ciclo de Vida [2] Creación de aplicaciones móviles para Android
  • 19. Ciclo de Vida [3] Creación de aplicaciones móviles para Android
  • 20. ● 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 Intenciones (Intent) [0] Creación de aplicaciones móviles para Android
  • 21. ● 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:...)); startActivity(intent); ● Una actividad también se puede lanzar para que devuelva un resultado mediante el método startActivityForResult ● Cuando termina esta subactividad se llama al método ● onActivityResult de la actividad padre desde la que fue arrancada Intenciones (Intent) [1] Creación de aplicaciones móviles para Android