• Like
Píldora 1: Android intro
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Píldora 1: Android intro

  • 8,090 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
8,090
On SlideShare
0
From Embeds
0
Number of Embeds
7

Actions

Shares
Downloads
88
Comments
0
Likes
2

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. Android – Introducción CatDroid – Oct. 2010 (por Roberto C. Serrano)
  • 2. Acerca de mi
    • Roberto C. Serrano
    • Ex-ingeniero de Software en Motorola (Android Platform Team)
    • Desarrollador de Android
    • Responsible desarrollo dispoitivos móviles para Addapta Technological Services
    • Co-fundador de la comunida CatDroid
    • Info de Contacto:
      • [email_address] o twitter.com/hojalataverde
  • 3. En esta mini-presentación
    • Introducción:
    • Introducción al sistema operativo Android y sus peculiaridades
    • Introducción a un Android Activity y los Componentes de una Applicación
  • 4. Introducción al sistema operativo Android y sus peculiaridades
  • 5. Demo del shell de Android
    • Android es casi un Linux (pero con muchas peculiaridades)
    • http://code.google.com/p/android-vnc/
    • Get fbvncserver binary
    • Load it into the phone/emulator:
    • adb push fbvncserver /data/local 
    • adb shell chmod 777 /data/local/fbvncserver
    • adb forward tcp:5901 tcp:5901
    • Run the vnc server:
    • adb shell /data/local/fbvncserver
  • 6. Openness y Android
    • “ Android es la primera plataforma extensiva para electrónica movil.…”
    • Componentes:
      • Una referencia de diseño de de hrdw que describe los requisitos mínimos para dar soporte a la plataforma.
      • Linux Kernel
      • Librerias Open Source a
      • Run time environment (Dalvik)
      • Framework para aplicaciones
      • Un framework para interface de usuario
      • Un paqueta de aplicaciones preinstaladas (un telefono inteligente 100% funcional)
      • Un kit de desarrollo (Tools, plug-ins, and documentation)
  • 7. Android Applications
    • Sin Licencia en la plataforma (http://android.git.kernel.org/)
      • SMS management app.
      • PIM (Google calendar, etc)
      • WebKit based browser
      • Cliente de Mail POP3
      • Instant Messaging Client (GChat)
      • Music Player and Picture viewer
    • Con Licencia:
      • Android Market Place
      • App. Google Maps y navegación
      • Cliente eMail(GMail)
    • Etc.
  • 8. Carácter. del Android SDK y Plataforma
    • Open platform (no fees, no licensing)
    • Wi-fi hrdw. acess
    • Full comm. stack (GSM, EDGE, 3G, Bluetooth)
    • GPS
    • Multimedia (playback and recording of audio, video, etc)
    • APIs to accel. And compass hrdwr.
    • IPC messaging
    • Share Data stores
    • Web-Kit browser
    • Eventually hwrd. accel. 3D graphics (Open GL ES)
    • Media Libraries (Licensed for MP3, etc…)
    • And open Application Framework (reuse and replacement)
  • 9. Funcionalidad disponible
    • Sistema Agnóstico al Hardware (via el Kernel)
    • Background services
    • SQLite DB
    • Comunicación entre applicaciones
    • Incluye Soporte multimedia
    • Sistema de optimización de Mem. y gestión de Procesos
    • Busqueda rápida desde 1.6
    • Sintetizador de voz desde 1.6
    • Gestión Transparente o intencionada de de múltiples resoluciones desde 1.6
    • API de Blutooth desde 2.0
    • Gestión centralizada de contactos desde 2.0
    • Live WallPapers desde 2.0
    • Reconocimiento de voz desde 2.1
    • navegación desde 2.1
    • Mensajes de la Nube al teléfono (Push) desde 2.2
    • Apps instalables en memoria externa (SD) desde 2.2
  • 10. El pastel de Android HAL CORE ANDROID + LIBRARIES HAL Multimedia / Graphics TCMD MBM / Boot loader CONNECTIVITY USB BLUETOOTH Wi-Fi CONNECTIVITY MODEM + RIL KERNEL+BSP GPS
  • 11. Q&A
  • 12. La Activity en Android
  • 13. Activities y Tasks
    • Definición de Dan Morrill’s:  
      • Una Actividad es como una molécula, un trozo cuantificable de funcionalidad.
      • Una tarea es una collección de actividades (parte una o multiples aplicaciones)
      • Un proceso en Android es un “proceso” estandard de Linux
  • 14. Activities y Tasks (cont.)
    • Por defecto cada aplicación de Android vive en su mundo:
    • Cada Applicación se ejecuta en su propio proceso por defecto
    • Cada proceso se ejecuta dentro de su propia máquina virtual
    • Cada aplicación recive su Linux User ID
  • 15. Activities (continue)
  • 16. Activities (continue)
  • 17. Actividad frente a Tarea (apps)
    • Una clase concreta en el API
    • Encapsula una operación particular
    • Se ejecuta en el Proceso del .APK que las instaló
    • Opcionalmente asociadas con su ventana (UI)
    • Es el contexto de ejecución del APK
    • Es más una noción que una parte del API
    • Collección de Actividades relaccionas
    • Capaz de extenderse a múltiples APKs y procesos
    • Asociado con su propio “history stack”
    • Son lo que los usuarios de otras plataformas entiende como “aplicaciones”
  • 18. Process(a) esto...
    • En que se parece un Android y un Linux?
      • Android process == Linux process (con su unico UID)
      • Por defecto, 1 proceso por APK
      • Por defecto, 1 hilo (thread) por proceso
      • La mayoría de los componente conectan eventos via el hilo principal.
  • 19. Componentes de una App. en Android
    • Content Providers : Una abstracción provista para representar cualquier información (data) almacenada en el aparato y a la que necesitan acceso múltiples aplicaciones.
    • Services : Unidad de ejecución provista para que sobreviva más allá de una actividad. Pueden ser ejecutados como parte o independientemente de una actividad.
    • Intents : Mortero que una el resto de los componentes. Mensajes de sistema que transmiten eventos representado cambios de estado en el hardware, acciones, etc.
    • Broadcast Receivers : Los consumidores de los Intents. Registrando tu app. como un broadcast reciever le estas dando a la aplicación la habilidad de consumir Intents que coinciden con un criterio de filtrado específico.
    • Notifications : El framework de notificación a usuarios permite que un Servicio o aplicación comunique con el usuario sin interrumpir su flujo de trabajo.
  • 20. Otros Componentes
    • Elementos Gráficos : Menus, Dialogs, ListViewss, Buttons, Widgets, etc.
    • Persistent Storage : Sistema de almacenamiento simplificado útil para persistir información de una sesión a otra (usado principalmente para almacenar preferencias).
    • Async Tasks : Además de el método tradicional de java para crear hilos, Android provee de esta clase útil para envolver tareas pesadas para que no interfieran con la experiencia del usuario.
    • WebViewClient : Estructura disponible para que una aplicación pueda mostrar contenido Web (basado en WebKit).
    • PreferenceActivity : Permite la creación de Actividades de Ajustes (settings) y persistencia de los datos de manera simplificada.
    • HTTPClient : Estructura provista para la adquisición de datos desde un servidor web (útil para extrar objetos json o xml).
    • MapView Activit y: Estructura que permite hacer uso de la infraestructura de Google Maps desde una aplicación.
    • etc..
  • 21. Otros elementos a tu disposición (lista no exhaustiva)
    • Storage : Puedes empaqueta ficheros de datos, para elementos estáticos, como iconos, cadenas de texto, arrays, etc. Se puede obtener espacio en la base de datos (SQLite) y en la memoria principal, o si el usuario provee de tarjeta SD, también se puede usar para almacenar todo ello para almacenar elementos generados de manera dinámica (o descargados de internet).
    • Network : Desde Java Sockets (via NIO) a pantallas que contengan un navegador, Android provee de un montón de mecanismos para aprovechar la accesibilidad a Internet.
    • Multimedia : Desde la lógica de una aplicación se puede incluir la reproducción y grabación de Audio y vídeo así como la de captura de imágenes (fotos).
    • GPS : Aparatos estandarizados de Android tienen la habilidad de reportar la ubicación (con diferentes niveles de granularidad). Además usando google maps, se pueden mostrar mapas, etc.
    • Phone Services : Una aplicación de android puede hacer uso de los servicios de telefonía, permitiendo el iniciar llamadas, enviar SMS, etc.
  • 22. Q&A