   Paso 1:     JDK de Java.   Paso 2:     Eclipse (recomendado IDE for Java Developers)   Paso 3:     Android SDK (p...
   Paso 4:     Android Development Tools (ADT)      ▪ Plug-in para Eclipse      ▪ Incluye vista DDMS       ▪ Procesos en...
   Paso 5:     Configurar el Plugin ADT      ▪ En la ventana de configuración de Eclipse, se debe        acceder a la se...
   Android es un sistema operativo móvil    basado en Linux, que junto con aplicaciones    middleware está enfocado para ...
   Framework de aplicación que habilita la    reutilización y reemplazo de componentes.   Máquina virtual Dalvik optimiz...
   Soporte para gran variedad de archivos    multimedia (MPEG4, H.264, MP3, AAC, AMR,    JPG, PNG, GIF).   Telefonía GSM...
   Apple - iPhone OS   RIM – Blackberry   Microsoft - Windows Mobile 6.5, Phone 7    Series   Symbian Foundation - Sym...
   HTC     Dream, Magic (myTouch3G), Hero, Tattoo, Nexus     One(*), Desire, Legend   Motorola     CLIQ, Droid (Milest...
 Kernel linux 2.6. Runtime basado en  VM Dalvik. Conjunto de librerias  C/C++. Framework común a  todas las  aplicacio...
   Aplicaciones     Escritas en Java y empaquetadas en Android      Package (apk)     Cada aplicación es independiente ...
   Cuando creamos un    nuevo proyecto Android    en Eclipse se genera    automáticamente        la    estructura de carp...
   Carpeta /src/     Contiene todo el código      fuente         de         la      aplicación, código de la      interf...
   Carpeta /res/     Contiente todos los     ficheros de recursos     necesarios para el     proyecto: imágenes,     víd...
   Carpeta /res/     /res/drawable/. Contienen las imágenes de la aplicación. Se puede dividir en        /drawable-ldpi,...
   Carpeta /gen/     Contiene    una serie de     elementos       de      código     generados automáticamente     al co...
   Carpeta /gen/     El más importante dentro del          public final class R {      directorio, el fichero R.java, y ...
   Carpeta /assets/     Contiene   todos los demás ficheros auxiliares      necesarios para la aplicación (y que se incl...
   En Java estamos acostumbrados a manejar    conceptos como ventana, control, eventos o    servicios como los elementos ...
   Activity (Actividades)   View (Vistas)   Service (Servicios)   Content Provider   Broadcast Receiver   Widget   ...
   Activity (Actividad)     Presenta una interfaz de usuario enfocada en algo que     el usuario puede realizar.      ▪ ...
   View (Vista)     Los objetos view son los componentes básicos con     los que se construye la interfaz gráfica de la ...
   Service (Servicio)     No tiene UI     Se ejecuta en background por periodo indefinido.      ▪ Ej. Reproductor de mú...
   Content Provider     Es un mecanismo que expone un conjunto     especifico de datos a otras aplicaciones.     ▪ Los d...
   Broadcast Receiver     No realiza ningún acción por si mismo     Recibe y reacciona ante anuncios de tipo broadcast ...
   Widget     Son     elementos       visuales,   normalmente     interactivos, que pueden mostrarse en la pantalla     ...
   Intent     Un intent es el elemento básico de comunicación      entre los distintos componentes Android.     Se pued...
   Content Provider     Al recibir una petición desde un ContentResolver   Activity, Service y Broadcast Receiver     ...
   Contiene la definición en XML de los aspectos    principales       de       la      aplicación    (AndroidManifest.xml...
   Declaración de los permisos requeridos     uses-permission     Acceso a determinado, estado del telefono,      acces...
   Las aplicaciones en Android solo tienen un primer    plano que ocupa toda la pantalla.   Las aplicaciones están forma...
   La aplicaciones en Android no tienen control de    su ciclo de vida.   Deben estar preparadas para su terminación en ...
Representa una cosa concreta que puede hacer el usuario    Corresponden con una pantalla     de la interfaz de usuario. ...
Normalmente una aplicación consta de varias actividades    Cada pantalla se implementa     como una actividad.    Movers...
   Una actividad se compone    de todo tipo de controles o    widgets llamados View en    Android.    La clase View es l...
Creando una Actividad (Activity)    onCreate:        Se llama a este método cuando se crea la actividad    setContentVi...
Moverse a la siguiente actividad    Lanza una nueva actividad sin recibir el resultado      startActivity(intent);    L...
Métodos de transacción de estados    onCreate(Bundle)      Se invoca cuando la Actividad se arranca por primera vez.    ...
Métodos de transacción de estados   onPause()     Se invoca cuando la actividad va a pasar al fondo porque      otra act...
Métodos de transacción de estados   onRestart()     Se invoca cuando una actividad parada pasa a estar     activa.   on...
Métodos de transacción de estados   onSaveInstanceState(Bundle)     Se invoca para permitir a la actividad guardar su   ...
   Representan la “intención” o solicitud de que    alguno de los componentes lleve a cabo una    tarea.   Las intencion...
Hay dos formas de invocar a una intención: explícita, implícita    Invocación explícita      Se expecifica explícitament...
   Las intenciones se pueden usar para moverse entre actividades.   La intención puede ser explícita indicando la activi...
Aplicaciones android
Aplicaciones android
Aplicaciones android
Aplicaciones android
Próxima SlideShare
Cargando en…5
×

Aplicaciones android

918 visualizaciones

Publicado el

Conceptos basicos de los elementos de una Aplicacion Android

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
918
En SlideShare
0
De insertados
0
Número de insertados
14
Acciones
Compartido
0
Descargas
42
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Aplicaciones android

  1. 1.  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.
  2. 2.  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,…
  3. 3.  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.
  4. 4.  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.
  5. 5.  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.
  6. 6.  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.
  7. 7.  Apple - iPhone OS RIM – Blackberry Microsoft - Windows Mobile 6.5, Phone 7 Series Symbian Foundation - Symbian OS Palm - WebOS
  8. 8.  HTC  Dream, Magic (myTouch3G), Hero, Tattoo, Nexus One(*), Desire, Legend Motorola  CLIQ, Droid (Milestone), DEXT Acer, Archos, Dell, Huawei, Lenovo, LG, Samsumg, Sony Ericsson,…
  9. 9.  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).
  10. 10.  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
  11. 11.  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.
  12. 12.  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.
  13. 13.  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:
  14. 14.  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.
  15. 15.  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.
  16. 16.  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/.
  17. 17.  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.
  18. 18.  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.
  19. 19.  Activity (Actividades) View (Vistas) Service (Servicios) Content Provider Broadcast Receiver Widget Intent
  20. 20.  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.
  21. 21.  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.
  22. 22.  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.
  23. 23.  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.
  24. 24.  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.
  25. 25.  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.
  26. 26.  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.
  27. 27.  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.
  28. 28.  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
  29. 29.  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
  30. 30.  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.
  31. 31.  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.
  32. 32. 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 .
  33. 33. 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
  34. 34.  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.
  35. 35. 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
  36. 36. 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)
  37. 37. 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
  38. 38. 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
  39. 39. 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.
  40. 40. 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
  41. 41.  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
  42. 42. 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
  43. 43.  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);

×