Píldoras Android I Introducción – 2ª parte<br />Sergi Martínez<br />
Overview<br />Bloques básicos de una aplicación de Android<br />Activity<br />Intents<br />El Manifest<br />Recursos<br />
Bloques básicos de una aplicación<br />Activities<br />Son los encargados de mostrar la interfaz y gestionar sus eventos<b...
Activity<br />«…si hay que mostrarlo, se muestra, pero mostrarlo paná, es tontería»<br />
Activities<br />Una Activity es una pantalla de la interfaz<br />Las aplicaciones constan de una o más Activity<br />Cada ...
Una Activity básica<br />
Estados de una actividad<br />El sistema gestiona las actividades como una pila<br />Una actividad tiene cuatro estados:<b...
Ciclo de vida de una actividad<br />
Métodos<br />
Iniciar otra Activity<br />Uso del método startActivity(Intent) o startActivityForResult (Intent, int)<br />Podemos pasar ...
Devolver valores de una Activity<br />Establecemos el valor a devolver con setResult(intresultCode) o setResult (intresult...
Intent<br />«… Trata de arrancarlo, Carlos, por tu…»<br />
Intents<br />Android se basa en multitud de pequeños componentes<br />Estos componentes se comunican viaIntents<br />Mensa...
Partes de un Intent<br />Partes básicas<br />La acción: una constante que indica la acción que se lanza. Ej.: VIEW_ACTION,...
Ejemplos de Intent<br />ANSWER_ACTION<br />CALL_ACTION<br />DELETE_ACTION<br />DIAL_ACTION<br />EDIT_ACTION<br />FACTORY_T...
Categorias de Intent<br />ALTERNATIVE_CATEGORY<br />BROWSABLE_CATEGORY<br />DEFAULT_CATEGORY<br />GADGET_CATEGORY<br />HOM...
Llegando a la actividad adecuada<br />Una actividad debe cumplir tres reglas para responder un Intent<br />La actividad de...
Ejemplo<br />
Manifest.xml<br />«…un xml para atarlos a todos en las sombras…»<br />
Manifest<br />El Manifest es el archivo donde la aplicación le dice al sistema que elementos requiere para funcionar<br />...
Manifest inicial<br />
Versión de la aplicación<br />VersionCode es importante para el Market<br />VersionName es importante para el usuario y/o ...
Definición de la actividad<br />Definimos las actividades y sus intent-filter<br />
Versión del SDK<br />minSdkVersion, maxSdkVersion y targetSdkVersion<br />
Permisos de la aplicación<br />Avisan al usuario de las acciones que realizará la apliación<br />Listados en: http://devel...
Recursos<br />«…¡Adelante gadget-o-Layout!…»<br />
Recursos<br />Un recurso es un elemento a utilizar durante la ejecución de la aplicación<br />Existen diferentes tipos de ...
Recursos<br />Se almacenan en la carpeta resources<br />Cada tipo de recurso tiene va en una carpeta específica<br />Utili...
La clase R<br />La clase R es generada y mantenida por el sistema y no debe ser modificada<br />Contiene un identificador ...
Nombrar recursos en XML<br />Para referirnos a un recurso utilizamos la siguiente sintaxis:<br />@<tipo de recurso>/<nombr...
Ejemplo<br />
Fin<br />¿Hay preguntas? ¿no? Pues vamos a comer <br />sergi@catdroid.org<br />sergi.martinez@gmail.com<br />www.sergiandr...
Upcoming SlideShare
Loading in …5
×

Píldoras android i. Intro - 2ª parte

7,282 views
7,231 views

Published on

2ª parte de la introducción al desarrollo para Android.
Es una pequeña introducción a las acitvites, los intents y los Recursos del sistema

Published in: Technology, News & Politics
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,282
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
81
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Píldoras android i. Intro - 2ª parte

  1. 1. Píldoras Android I Introducción – 2ª parte<br />Sergi Martínez<br />
  2. 2. Overview<br />Bloques básicos de una aplicación de Android<br />Activity<br />Intents<br />El Manifest<br />Recursos<br />
  3. 3. Bloques básicos de una aplicación<br />Activities<br />Son los encargados de mostrar la interfaz y gestionar sus eventos<br />Services<br />Se ejecutan en background<br />Broadcast Receivers<br />Responden ante sucesos del sistema<br />Content Providers<br />Almacenan información y la ponen a disposición de otras apps<br />
  4. 4. Activity<br />«…si hay que mostrarlo, se muestra, pero mostrarlo paná, es tontería»<br />
  5. 5. Activities<br />Una Activity es una pantalla de la interfaz<br />Las aplicaciones constan de una o más Activity<br />Cada Activity es reponsable de guardar su estado<br />Una Activity se encarga de:<br />Crear una ventana donde colocar la interfaz <br />Gestionar la interfaz<br />Responder a los eventos (onClick, onLongClick, etc).<br />
  6. 6. Una Activity básica<br />
  7. 7. Estados de una actividad<br />El sistema gestiona las actividades como una pila<br />Una actividad tiene cuatro estados:<br />Activa: la actividad está en primer plano y tiene el focus(enfoque de usuario). Se encuentra en lo alto de la pila.<br />En pausa: la actividad es visible, pero no tiene el focus. Ej: hay un diálogo sobre ella con el focusretenido.<br />Detenida: La actividad está tapada por otra aplicación. Mantiene sus datos.<br />Destruida: Una actividad detenida ha sido destruida para liberar memoria y ha perdido sus datos. Hay que recrearla completamente.<br />
  8. 8. Ciclo de vida de una actividad<br />
  9. 9. Métodos<br />
  10. 10. Iniciar otra Activity<br />Uso del método startActivity(Intent) o startActivityForResult (Intent, int)<br />Podemos pasar parametros con Intent.putExtra(int, <type>)<br />Recibirlos con getIntent().getExtras().get<Type>(clave);<br />
  11. 11. Devolver valores de una Activity<br />Establecemos el valor a devolver con setResult(intresultCode) o setResult (intresultCode, Intent data)<br />La actividad «llamadora» implementa el método onActivityResult(intrequestCode, intresultCode, Intent data)<br />resultCode puede ser uno de estos valores:<br />RESULT_CANCELED<br />RESULT_OK<br />RESULT_FIRST_USER<br />
  12. 12. Intent<br />«… Trata de arrancarlo, Carlos, por tu…»<br />
  13. 13. Intents<br />Android se basa en multitud de pequeños componentes<br />Estos componentes se comunican viaIntents<br />Mensajes utilizados para notificar a las aplicaciones de eventos<br />Cambios de Hardware. Ej: tarjeta SD insertada.<br />Recepción de datos. Ej: llegada de un sms<br />Eventos de la apliación. Ej: se ha lanzado la aplicación<br />Etc<br />Es posible crear nuestros propio intents<br />
  14. 14. Partes de un Intent<br />Partes básicas<br />La acción: una constante que indica la acción que se lanza. Ej.: VIEW_ACTION, EDIT_ACTION<br />Los datos: uri indicando el recurso asociado. Ej.: content://contacts/people/1<br />Partes opcionales<br />Una categoría: agrupa el tipo de Intent<br />Un tipo MIME: indica el tipo de recurso si no concemos una uri<br />Un componente: la clase que debe tener el receptor. Obvia las otras propiedades, pero es más frágil.<br />Extras: un Bundle con información extra que el receptor va a necesitar<br />
  15. 15. Ejemplos de Intent<br />ANSWER_ACTION<br />CALL_ACTION<br />DELETE_ACTION<br />DIAL_ACTION<br />EDIT_ACTION<br />FACTORY_TEST_ACTION<br />GET_CONTENT_ACTION<br />INSERT_ACTION<br />MAIN_ACTION: Inicio de aplicación<br />PICK_ACTION: permitir a otras apps elegir contenido de la tuya<br />VIEW_CONTENT: para ver contenido<br />EDIT_CONTENT: para editar contenido<br />
  16. 16. Categorias de Intent<br />ALTERNATIVE_CATEGORY<br />BROWSABLE_CATEGORY<br />DEFAULT_CATEGORY<br />GADGET_CATEGORY<br />HOME_CATEGORY<br />LAUNCHER_CATEGORY<br />PREFERENCE_CATEGORY<br />SELECTED_ALTERNATIVE_CATEGORY<br />TAB_CATEGORY<br />TEST_CATEGORY<br />
  17. 17. Llegando a la actividad adecuada<br />Una actividad debe cumplir tres reglas para responder un Intent<br />La actividad debe soportar la acción especificada<br />La actividad debe soportar el tipo MIME si lo hay<br />La actividad debe soportar TODAS las categorias nombradas en el Intent<br />Uso de Intent-Filter en el manifest<br />
  18. 18. Ejemplo<br />
  19. 19. Manifest.xml<br />«…un xml para atarlos a todos en las sombras…»<br />
  20. 20. Manifest<br />El Manifest es el archivo donde la aplicación le dice al sistema que elementos requiere para funcionar<br />Siempre debe llamarse AndroidManifest.xml y estar en la raiz del proyecto<br />Entre otras cosas contiene:<br />Atributos de la aplicación y metadatos<br />La declaración de actividades y otros componentes<br />Librerías externas<br />Permisos<br />Se puede editar via GUI o editando el XML<br />
  21. 21. Manifest inicial<br />
  22. 22. Versión de la aplicación<br />VersionCode es importante para el Market<br />VersionName es importante para el usuario y/o nosotros<br />
  23. 23. Definición de la actividad<br />Definimos las actividades y sus intent-filter<br />
  24. 24. Versión del SDK<br />minSdkVersion, maxSdkVersion y targetSdkVersion<br />
  25. 25. Permisos de la aplicación<br />Avisan al usuario de las acciones que realizará la apliación<br />Listados en: http://developer.android.com/reference/android/Manifest.permission.html<br />
  26. 26. Recursos<br />«…¡Adelante gadget-o-Layout!…»<br />
  27. 27. Recursos<br />Un recurso es un elemento a utilizar durante la ejecución de la aplicación<br />Existen diferentes tipos de recursos:<br />Layouts<br />Imágenes<br />Cadenas de texto<br />Sonidos<br />Colores<br />Temas<br />Animaciones<br />etc<br />
  28. 28. Recursos<br />Se almacenan en la carpeta resources<br />Cada tipo de recurso tiene va en una carpeta específica<br />Utilizan sufijos para determinar que recursos utlizar según contexto (tamaño de pantalla, idioma, orientación, etc.)<br />Nombre en mínusculas<br />La extensión se ignora (mismo nombre, diferente extensión se considera duplicado)<br />
  29. 29. La clase R<br />La clase R es generada y mantenida por el sistema y no debe ser modificada<br />Contiene un identificador (int) único por cada recurso <br />Podemos hacer referencia a un recurso en código por R.<tipo>.<nombre>. Ej.: R.layout.main<br />
  30. 30. Nombrar recursos en XML<br />Para referirnos a un recurso utilizamos la siguiente sintaxis:<br />@<tipo de recurso>/<nombre del recurso><br />Por ejemplo<br />@string/app_name<br />Para definir un nombre utilizamos:<br />@+<tipo de recurso>/<nombre de recurso><br />
  31. 31. Ejemplo<br />
  32. 32. Fin<br />¿Hay preguntas? ¿no? Pues vamos a comer <br />sergi@catdroid.org<br />sergi.martinez@gmail.com<br />www.sergiandreplace.com<br />@sergiandreplace<br />

×