Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Android – Introducción CatDroid – Oct. 2010 (por Roberto C. Serrano)
Acerca de mi <ul><li>Roberto C. Serrano </li></ul><ul><li>Ex-ingeniero de Software en Motorola (Android Platform Team) </l...
En esta mini-presentación <ul><li>Introducción:  </li></ul><ul><li>Introducción al sistema operativo Android y sus peculia...
Introducción al sistema operativo Android y sus peculiaridades
Demo del shell de Android <ul><li>Android es casi un Linux  (pero con muchas peculiaridades) </li></ul><ul><li>http://code...
Openness y Android <ul><li>“ Android es la primera plataforma extensiva para electrónica movil.…” </li></ul><ul><li>Compon...
Android Applications <ul><li>Sin Licencia en la plataforma (http://android.git.kernel.org/) </li></ul><ul><ul><li>SMS mana...
Carácter. del Android SDK y Plataforma <ul><li>Open platform (no fees, no licensing) </li></ul><ul><li>Wi-fi hrdw. acess <...
Funcionalidad disponible <ul><li>Sistema Agnóstico al Hardware  (via el Kernel) </li></ul><ul><li>Background services </li...
El pastel de Android HAL CORE ANDROID + LIBRARIES HAL Multimedia / Graphics  TCMD MBM / Boot loader CONNECTIVITY USB BLUET...
Q&A
La Activity en Android
Activities y Tasks <ul><li>Definición de Dan Morrill’s:   </li></ul><ul><ul><li>Una Actividad es como una molécula, un tro...
Activities y Tasks (cont.) <ul><li>Por defecto cada aplicación de Android vive en su mundo: </li></ul><ul><li>Cada Applica...
Activities (continue)
Activities (continue)
Actividad frente a Tarea (apps) <ul><li>Una clase concreta en el API </li></ul><ul><li>Encapsula una operación particular ...
Process(a) esto... <ul><li>En que se parece un Android y un Linux? </li></ul><ul><ul><li>Android process == Linux process ...
Componentes de una App. en Android <ul><li>Content Providers : Una abstracción provista para representar cualquier informa...
Otros Componentes  <ul><li>Elementos Gráficos :  Menus, Dialogs, ListViewss, Buttons, Widgets, etc. </li></ul><ul><li>Pers...
Otros elementos a tu disposición  (lista no exhaustiva) <ul><li>Storage :  Puedes empaqueta ficheros de datos, para elemen...
Q&A
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
Foursquare en el sector hotelero
Next
Upcoming SlideShare
Foursquare en el sector hotelero
Next
Download to read offline and view in fullscreen.

2

Share

Píldora 1: Android intro

Download to read offline

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Píldora 1: Android intro

  1. 1. Android – Introducción CatDroid – Oct. 2010 (por Roberto C. Serrano)
  2. 2. Acerca de mi <ul><li>Roberto C. Serrano </li></ul><ul><li>Ex-ingeniero de Software en Motorola (Android Platform Team) </li></ul><ul><li>Desarrollador de Android </li></ul><ul><li>Responsible desarrollo dispoitivos móviles para Addapta Technological Services </li></ul><ul><li>Co-fundador de la comunida CatDroid </li></ul><ul><li>Info de Contacto: </li></ul><ul><ul><li>[email_address] o twitter.com/hojalataverde </li></ul></ul>
  3. 3. En esta mini-presentación <ul><li>Introducción: </li></ul><ul><li>Introducción al sistema operativo Android y sus peculiaridades </li></ul><ul><li>Introducción a un Android Activity y los Componentes de una Applicación </li></ul>
  4. 4. Introducción al sistema operativo Android y sus peculiaridades
  5. 5. Demo del shell de Android <ul><li>Android es casi un Linux (pero con muchas peculiaridades) </li></ul><ul><li>http://code.google.com/p/android-vnc/ </li></ul><ul><li>Get fbvncserver binary </li></ul><ul><li>Load it into the phone/emulator: </li></ul><ul><li>adb push fbvncserver /data/local  </li></ul><ul><li>adb shell chmod 777 /data/local/fbvncserver </li></ul><ul><li>adb forward tcp:5901 tcp:5901 </li></ul><ul><li>Run the vnc server: </li></ul><ul><li>adb shell /data/local/fbvncserver </li></ul>
  6. 6. Openness y Android <ul><li>“ Android es la primera plataforma extensiva para electrónica movil.…” </li></ul><ul><li>Componentes: </li></ul><ul><ul><li>Una referencia de diseño de de hrdw que describe los requisitos mínimos para dar soporte a la plataforma. </li></ul></ul><ul><ul><li>Linux Kernel </li></ul></ul><ul><ul><li>Librerias Open Source a </li></ul></ul><ul><ul><li>Run time environment (Dalvik) </li></ul></ul><ul><ul><li>Framework para aplicaciones </li></ul></ul><ul><ul><li>Un framework para interface de usuario </li></ul></ul><ul><ul><li>Un paqueta de aplicaciones preinstaladas (un telefono inteligente 100% funcional) </li></ul></ul><ul><ul><li>Un kit de desarrollo (Tools, plug-ins, and documentation) </li></ul></ul>
  7. 7. Android Applications <ul><li>Sin Licencia en la plataforma (http://android.git.kernel.org/) </li></ul><ul><ul><li>SMS management app. </li></ul></ul><ul><ul><li>PIM (Google calendar, etc) </li></ul></ul><ul><ul><li>WebKit based browser </li></ul></ul><ul><ul><li>Cliente de Mail POP3 </li></ul></ul><ul><ul><li>Instant Messaging Client (GChat) </li></ul></ul><ul><ul><li>Music Player and Picture viewer </li></ul></ul><ul><li>Con Licencia: </li></ul><ul><ul><li>Android Market Place </li></ul></ul><ul><ul><li>App. Google Maps y navegación </li></ul></ul><ul><ul><li>Cliente eMail(GMail) </li></ul></ul><ul><li>Etc. </li></ul>
  8. 8. Carácter. del Android SDK y Plataforma <ul><li>Open platform (no fees, no licensing) </li></ul><ul><li>Wi-fi hrdw. acess </li></ul><ul><li>Full comm. stack (GSM, EDGE, 3G, Bluetooth) </li></ul><ul><li>GPS </li></ul><ul><li>Multimedia (playback and recording of audio, video, etc) </li></ul><ul><li>APIs to accel. And compass hrdwr. </li></ul><ul><li>IPC messaging </li></ul><ul><li>Share Data stores </li></ul><ul><li>Web-Kit browser </li></ul><ul><li>Eventually hwrd. accel. 3D graphics (Open GL ES) </li></ul><ul><li>Media Libraries (Licensed for MP3, etc…) </li></ul><ul><li>And open Application Framework (reuse and replacement) </li></ul>
  9. 9. Funcionalidad disponible <ul><li>Sistema Agnóstico al Hardware (via el Kernel) </li></ul><ul><li>Background services </li></ul><ul><li>SQLite DB </li></ul><ul><li>Comunicación entre applicaciones </li></ul><ul><li>Incluye Soporte multimedia </li></ul><ul><li>Sistema de optimización de Mem. y gestión de Procesos </li></ul><ul><li>Busqueda rápida desde 1.6 </li></ul><ul><li>Sintetizador de voz desde 1.6 </li></ul><ul><li>Gestión Transparente o intencionada de de múltiples resoluciones desde 1.6 </li></ul><ul><li>API de Blutooth desde 2.0 </li></ul><ul><li>Gestión centralizada de contactos desde 2.0 </li></ul><ul><li>Live WallPapers desde 2.0 </li></ul><ul><li>Reconocimiento de voz desde 2.1 </li></ul><ul><li>navegación desde 2.1 </li></ul><ul><li>Mensajes de la Nube al teléfono (Push) desde 2.2 </li></ul><ul><li>Apps instalables en memoria externa (SD) desde 2.2 </li></ul>
  10. 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. 11. Q&A
  12. 12. La Activity en Android
  13. 13. Activities y Tasks <ul><li>Definición de Dan Morrill’s:   </li></ul><ul><ul><li>Una Actividad es como una molécula, un trozo cuantificable de funcionalidad. </li></ul></ul><ul><ul><li>Una tarea es una collección de actividades (parte una o multiples aplicaciones) </li></ul></ul><ul><ul><li>Un proceso en Android es un “proceso” estandard de Linux </li></ul></ul>
  14. 14. Activities y Tasks (cont.) <ul><li>Por defecto cada aplicación de Android vive en su mundo: </li></ul><ul><li>Cada Applicación se ejecuta en su propio proceso por defecto </li></ul><ul><li>Cada proceso se ejecuta dentro de su propia máquina virtual </li></ul><ul><li>Cada aplicación recive su Linux User ID </li></ul>
  15. 15. Activities (continue)
  16. 16. Activities (continue)
  17. 17. Actividad frente a Tarea (apps) <ul><li>Una clase concreta en el API </li></ul><ul><li>Encapsula una operación particular </li></ul><ul><li>Se ejecuta en el Proceso del .APK que las instaló </li></ul><ul><li>Opcionalmente asociadas con su ventana (UI) </li></ul><ul><li>Es el contexto de ejecución del APK </li></ul><ul><li>Es más una noción que una parte del API </li></ul><ul><li>Collección de Actividades relaccionas </li></ul><ul><li>Capaz de extenderse a múltiples APKs y procesos </li></ul><ul><li>Asociado con su propio “history stack” </li></ul><ul><li>Son lo que los usuarios de otras plataformas entiende como “aplicaciones” </li></ul>
  18. 18. Process(a) esto... <ul><li>En que se parece un Android y un Linux? </li></ul><ul><ul><li>Android process == Linux process (con su unico UID) </li></ul></ul><ul><ul><li>Por defecto, 1 proceso por APK </li></ul></ul><ul><ul><li>Por defecto, 1 hilo (thread) por proceso </li></ul></ul><ul><ul><li>La mayoría de los componente conectan eventos via el hilo principal. </li></ul></ul>
  19. 19. Componentes de una App. en Android <ul><li>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. </li></ul><ul><li>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. </li></ul><ul><li>Intents : Mortero que una el resto de los componentes. Mensajes de sistema que transmiten eventos representado cambios de estado en el hardware, acciones, etc. </li></ul><ul><li>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. </li></ul><ul><li>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. </li></ul>
  20. 20. Otros Componentes <ul><li>Elementos Gráficos : Menus, Dialogs, ListViewss, Buttons, Widgets, etc. </li></ul><ul><li>Persistent Storage : Sistema de almacenamiento simplificado útil para persistir información de una sesión a otra (usado principalmente para almacenar preferencias). </li></ul><ul><li>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. </li></ul><ul><li>WebViewClient : Estructura disponible para que una aplicación pueda mostrar contenido Web (basado en WebKit). </li></ul><ul><li>PreferenceActivity : Permite la creación de Actividades de Ajustes (settings) y persistencia de los datos de manera simplificada. </li></ul><ul><li>HTTPClient : Estructura provista para la adquisición de datos desde un servidor web (útil para extrar objetos json o xml). </li></ul><ul><li>MapView Activit y: Estructura que permite hacer uso de la infraestructura de Google Maps desde una aplicación. </li></ul><ul><li>etc.. </li></ul>
  21. 21. Otros elementos a tu disposición (lista no exhaustiva) <ul><li>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). </li></ul><ul><li>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. </li></ul><ul><li>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). </li></ul><ul><li>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. </li></ul><ul><li>Phone Services : Una aplicación de android puede hacer uso de los servicios de telefonía, permitiendo el iniciar llamadas, enviar SMS, etc. </li></ul>
  22. 22. Q&A
  • OmarPons

    Oct. 26, 2010
  • sroigmas

    Oct. 23, 2010

Views

Total views

8,711

On Slideshare

0

From embeds

0

Number of embeds

6,049

Actions

Downloads

90

Shares

0

Comments

0

Likes

2

×