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

Píldora 1: Android intro

on

  • 8,350 views

 

Statistics

Views

Total Views
8,350
Slideshare-icon Views on SlideShare
2,394
Embed Views
5,956

Actions

Likes
2
Downloads
86
Comments
0

15 Embeds 5,956

http://www.elandroidelibre.com 5353
http://catdroid.org 469
http://fernandroid.blogspot.com 68
http://elandroidelibre.com 24
http://mundomovilesandroid.blogspot.com.es 16
http://static.slidesharecdn.com 8
http://fernandroid.blogspot.com.es 8
http://feeds.feedburner.com 2
http://webcache.googleusercontent.com 2
http://fernandroid.blogspot.mx 1
http://translate.googleusercontent.com 1
http://74.6.239.84 1
http://www.blogger.com 1
http://www.netvibes.com 1
http://mundomovilesandroid.blogspot.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Píldora 1: Android intro Píldora 1: Android intro Presentation Transcript

    • Android – Introducción CatDroid – Oct. 2010 (por Roberto C. Serrano)
    • 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
    • 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
    • Introducción al sistema operativo Android y sus peculiaridades
    • 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
    • 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)
    • 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.
    • 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)
    • 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
    • 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
    • Q&A
    • La Activity en Android
    • 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
    • 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
    • Activities (continue)
    • Activities (continue)
    • 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”
    • 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.
    • 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.
    • 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..
    • 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.
    • Q&A