Your SlideShare is downloading. ×
Píldoras android i. Intro - 2ª parte
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Píldoras android i. Intro - 2ª parte

7,152
views

Published on

2ª parte de la introducción al desarrollo para Android. …

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,152
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
79
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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

×