SlideShare una empresa de Scribd logo
Edwin Hernandez, PhD UBIWIRELESS, LLC Taller : WebConf Latino  Julio 22, 2010
Contenido de la Presentación Introducción a la architectura de Android Formas de trabajar en Android Android SDK : Desarrollar Applicaciones Android NDK: Desarrollar librerias nativas MyDroid:  Codigo entero que corre en el emulador o en el telefono.
Android Android es un “middleware”  un software stack para sistemas móviles que incluye: Una Máquina Virtual: DALVIK-VM (Comprado por Google y Optimizado) Serie de Librerías y Recursos escritos en Java: JDK, Jars, JNI, Reflexión KERNEL: LINUX 2.6-* que se continua actualizando Cada “release” tiene nombres de postres, “cupcake”, “donut”, “eclaire”, etc
Logica para programa en Android Codigo en JAVA+C/C++ Recursos en XML Compilacion a .class Generacion .DEX con Optimizacion Archivo APK
 
Android Runtime Linux Kernel 2.6.x Modem Link Modem GSM/3G/CDMA AP
Application/Activity Java Native Interface JNI  (Java) Android Service Middleware/Native ServiceBSP Component
Otras partes de Android Framework en Java con muchos objetos y clases para utilizar Dalvik virtual machine: Dalvik-VM  Integrated browser based on the open source  WebKit engine Gráficos  con OpenGL ES SQLite para almacenar datos Multimedia: audio, video, e imagenes (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) Telefonia (GSM, CDMA) GPS, Bluetooth, WiFi, y mas, derivados de Linux
Ahora vamos a Linux Linux: Uso del  “driver model,” open source, Abstraccion de Hardware (HAL), manejo de memoria, seguridad Librerias Nativas: Manejo de Superficies via OpenGL y otras librerias nativas como: Packet Video, SQL Lite, WebKit. EL “And roid Runtime”: Dalvik VM. DEX file support, .class files are converted are runtime y mapeadas a procesos nativos Linux
Productos a Desarrollar en Android Primero:  Aplicaciones, son archivos “APK” Desarrollo via Eclipse o MOTODEV, hasta “vi”. Android SDK  (Reciente version 2.2) Segundo:  Librerias nativas para Android, muchos para mejorar rendimiento y para funcionalidad que no esta en el “framework” las agregan locales (NDK) Tercero:  Crear imagines, se podria hacer un acuerdo de colaboración con un proveedor de hardware y su BSP y crear telefonos inteligentes  
Que mas necesitamos para hacer una aplicación? Mucha creatividad! Bajar todas las herramients Todas las herramientas son gratuitas!  Diseñar el flow y empezar a probarlo en el emulador
Ambiente de Desarrollo Eclipse/MotoDev Bajar el SDK de http://source.android.com/source/download.html Seguir instrucciones de Google para instalar SDK Important components ADB: Android Debug Build  DDMS: Debug Data Management System  Android script: Para crear AVDs (Android Virtual Device) Emulator: QEMU para simular el telefono DX: Converte los .class a DEX
Eclipse
Android Script
DDMS
Emulator
ADB: Android Debug  Bridge
DroidDraw
SDK Demo utilizando Eclipse y APIDemos
Componentes de un APK Activity : Es la  “actividad.” Muchos crean un “Application” con muchas “actividades” Intent : Mecanismo utilizado para activar componentes y comunicarse entre actividades.  Broadcast Receiver :  Estan diseñados para registrarse a leer “Intents” y recibirlos Content Providers :  Proveen datos a todo el sistema, acceso a Contactos, Listado de Mensajes, DRM Services:   No tienen UI, y por lo general correr en el “background”
Estados de una Aplicacion en Android
Service
Activity Unidad Principal. Una actividad es lo que se ejecuta y es manejado por el Dalvik-VM en un “life-cycle”.  Una aplicacion puede tener varias actividades entrelazadas, pero solamente una es la que se lanza del icono principal El UI se define via el archivo “Manifest,” DroidDraw o un XML Editor El Archivo Manifest, contiene importantes definiciones para la “Actividad,” UI, filtros de intents, otras actividades, permisos de acceso.
Service Un servicio, probablemente no tiene UI Generalmente utliza Noticaciones y el Toolbar para presentar actualizaciones Generalmente se comiena y se manaja en el background Tratar de utilizar la clase AsyncTask para correr procesos en el “background”
Intent Mecanismo de comunicación entre actividades (Activities) Puede ser implicito, o explicito Se puede hacer un Broadcast Intent, o se puede seleccionar la clase que se quiere lanzar. Se pueden definir nuevos intents, INTENT_WEBCONF si se desa via archivo manifest
Broadcast Receiver Se implementa para recibir un Intent, ya sea que este en el sistema: e.g. ACTION_CALL o cualquier intent creado por una actividad El BroadCast Reciever es util apra manejar eventos  Chequear los “Permissions” siempre, no todos los Intents pueden recibirse por una clases de este tipo
Content Provider  Es simplemente una abstraccion para accesar una clase de datos, de una o varias tablas en SQLITE o en un archivo El ContentProvider implementa el acceso a la clase, se puede utlizar de varias actividades y no se necesitan hacer uso de comandos tipo SELECT como en SQLITE Muchos “Developers” no los utilizan
Seguridad y Permisos Cada aplicacion creada en /data/ tiene un UID unico Cada aplicacion creada en /system es de otro UID y generalmente no se puede borrar del sistema La seguridad de aplicaciones puede requerir firmar el APK con una misma llave para verificar sea valido A su vez, Certificados asociados con el “System” previenen ingreso no autoizado En un “rooted” phone estos permisos son validos pero pueden ser reemplazados.
Muchos otros servicios en Android Location: GPS a travez de LocationProviders Multimedia  Mensajeria de Texto y Multimedia Busqueda  Muchos mas localizados en:  http://developer.android.com/resources/index.html
Veamos Ejemplo de “APIDemo” Views App OS WebViews ListActivity
Goldfish: Arquitectura Proveida en Android 2.2
MyDroid : Open Source Podemos revisar todo el codigo de los “Repos” de Google, incluyendo codigo de HTC, y otros “Vendors” Que podemos encontrar: Un Browser: Browser App Un Provider: Digital Rights Management  Integracion con el Kernel: BSP es Goldfish Architecture. Mucha memoria, 8GB mínimo. Seguir instruccione en: http://source.android.com/source/git-repo.html
“Browser Activity”
Resumen de funcionamiento : JNI – Java Native Interface
NDK Se pueden crear librerias de extension .so en C/C++ Ejemplos de combinacion Nativo + Java Bluetooth RIL : Radio Interface Layer  Camera App DRM: Digital Rights Management Now your own applications!
NDK
NDK Codigo en C
Futuro de  Desarrollo de Apps App Inventor : Enlistarse para revisar BETA
MOTODEV DEMO Motorola

Más contenido relacionado

PPTX
Taller deandroid
PDF
"Android de la A a la Z" -- Unidad 8
PPT
Fundamentos desarrollo de Apps para Android
PPT
Desarrollo android - 2 - arquitectura del sistema
PDF
"Android de la A a la Z" -- Unidad 3
PDF
Curso de Android 4.x Unidad 02 SDK y AVD Manager
DOCX
"Android de la A a la Z" -- Unidad 2
PDF
"Android de la A a la Z" -- Unidad 6
Taller deandroid
"Android de la A a la Z" -- Unidad 8
Fundamentos desarrollo de Apps para Android
Desarrollo android - 2 - arquitectura del sistema
"Android de la A a la Z" -- Unidad 3
Curso de Android 4.x Unidad 02 SDK y AVD Manager
"Android de la A a la Z" -- Unidad 2
"Android de la A a la Z" -- Unidad 6

La actualidad más candente (20)

PDF
Curso de desarrollo de aplicaciones Android - Sesión 1
PPT
Curso Introducción a android
PPTX
arquitectura android y tecnologia mpls
PPT
Tutorial Android 1
PDF
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
PDF
Deletreando Android
PPT
Fundamentos del Desarrollo de Aplicaciones para Android
PDF
"Android de la A a la Z" -- Unidad 4
DOCX
Android de la A a la Z - Unidad 3
PPT
Introduccion a Android
PDF
"Android de la A a la Z" -- Unidad 1
PPTX
Iniciación a Android
PPT
Curso desarrollo en android
PDF
Arquitectura android
ODP
Presentacion Android
ODP
Android
PPTX
Androidoriiginal
PPT
Curso Desarrollo Android
PDF
Entornos-de-Desarrollo-Eclipse-y-Android-SDK
Curso de desarrollo de aplicaciones Android - Sesión 1
Curso Introducción a android
arquitectura android y tecnologia mpls
Tutorial Android 1
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
Deletreando Android
Fundamentos del Desarrollo de Aplicaciones para Android
"Android de la A a la Z" -- Unidad 4
Android de la A a la Z - Unidad 3
Introduccion a Android
"Android de la A a la Z" -- Unidad 1
Iniciación a Android
Curso desarrollo en android
Arquitectura android
Presentacion Android
Android
Androidoriiginal
Curso Desarrollo Android
Entornos-de-Desarrollo-Eclipse-y-Android-SDK
Publicidad

Destacado (20)

PDF
Desarrollo en Android: Conceptos Básicos
PDF
Introducción a Android: 10 cosas importantes que hay que entender
PPTX
Sistema Operativo. android
PPSX
Presentacion Android
PPTX
Exposición - Android
PPT
Sistema Operativo Android; versiones, historia
PPTX
Sistemas operativos "Android"
ODP
Introducción a Android para desarrolladores Java
PDF
Introducción a Android
PPTX
Ventajas y desvetajas de Android
PPT
Intro. a Android Instituto Bosc de la Coma en Olot
PPTX
linea del tiempo Magalyy
PDF
Entendiendo android
DOCX
Linea del tiempo de Windows
PPTX
Diapositivas android
PDF
Linea del tiempo (windows)
PPTX
Linea de tiempo windows
PDF
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
PPTX
Sistema operativo android
PPT
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo en Android: Conceptos Básicos
Introducción a Android: 10 cosas importantes que hay que entender
Sistema Operativo. android
Presentacion Android
Exposición - Android
Sistema Operativo Android; versiones, historia
Sistemas operativos "Android"
Introducción a Android para desarrolladores Java
Introducción a Android
Ventajas y desvetajas de Android
Intro. a Android Instituto Bosc de la Coma en Olot
linea del tiempo Magalyy
Entendiendo android
Linea del tiempo de Windows
Diapositivas android
Linea del tiempo (windows)
Linea de tiempo windows
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Sistema operativo android
Desarrollo android - 4 - arquitectura de aplicación
Publicidad

Similar a Taller de Android (20)

PPT
Píldora 1: Android intro
PPT
Curso introducción a android
PPT
Curso introducción a Android
PDF
Taller de prog. en android
PDF
Seminario Android (Parte 1) - movilforum
PDF
Curso android desarrollo de aplicaciones moviles
PDF
Mdw guia-android-1.3
PPT
Android
PDF
Android
PDF
Mdw guia-android-1.3
PDF
Mdw guia-android-1.3
PDF
Ingeniería Inversa en Android. Rooted Labs. Rooted CON 2012.
PPTX
Android 24 01 getting started with android
PDF
Guía Android
PDF
Mdw guia-android
PDF
Maestrosdelweb guia-android
PDF
Maestrosdelweb guia-android
PDF
introduccion al desarrollo de aplicaciones android
KEY
Android la plataforma móvil open source
Píldora 1: Android intro
Curso introducción a android
Curso introducción a Android
Taller de prog. en android
Seminario Android (Parte 1) - movilforum
Curso android desarrollo de aplicaciones moviles
Mdw guia-android-1.3
Android
Android
Mdw guia-android-1.3
Mdw guia-android-1.3
Ingeniería Inversa en Android. Rooted Labs. Rooted CON 2012.
Android 24 01 getting started with android
Guía Android
Mdw guia-android
Maestrosdelweb guia-android
Maestrosdelweb guia-android
introduccion al desarrollo de aplicaciones android
Android la plataforma móvil open source

Más de Dr. Edwin Hernandez (20)

PDF
Propuesta para la creación de un Centro de Innovación para la Refundación ...
PPTX
EGLA CORP - Honduras Abril 27 , 2024.pptx
PDF
MEVIA Platform for Music and Video
PDF
Proposal NFT Metaverse Projects.pdf
PDF
Emulation MobileCAD
PDF
EGLA NFT Offering
PPTX
Next Generation Spaces for Startups
PPTX
Analisis del Fraude Electoral en el 2017 - EGLA CORP
PDF
EGLAVATOR - Innovation, intellectual property services, and capital 2022 - 1
PDF
MEVIA and Cloud to Cable TV Intellectual Property
PDF
EGLAVATOR - Who are we?
PDF
Tips para mejorar ventas digitales
PDF
Securing 4G and LTE systems with Deep Learning and Virtualization
PDF
EGLAVATOR by EGLA CORP
PDF
MEVIA - Technology Updates - 2020
PDF
MEVIA - Entertaiment and Cloud-based Solution for Yachts
PDF
NextGENTV broadcasting with Cloud to Cable (ATSC 3.0) - Broadcasting to CABSAT
PDF
New Revenue Opportunities for Cloud Apps and Services with CloudtoCable
PDF
EGLA CORP: Innovation, Intellectual Property Services, and Capital
PDF
Music for Cable Music Service for Operators
Propuesta para la creación de un Centro de Innovación para la Refundación ...
EGLA CORP - Honduras Abril 27 , 2024.pptx
MEVIA Platform for Music and Video
Proposal NFT Metaverse Projects.pdf
Emulation MobileCAD
EGLA NFT Offering
Next Generation Spaces for Startups
Analisis del Fraude Electoral en el 2017 - EGLA CORP
EGLAVATOR - Innovation, intellectual property services, and capital 2022 - 1
MEVIA and Cloud to Cable TV Intellectual Property
EGLAVATOR - Who are we?
Tips para mejorar ventas digitales
Securing 4G and LTE systems with Deep Learning and Virtualization
EGLAVATOR by EGLA CORP
MEVIA - Technology Updates - 2020
MEVIA - Entertaiment and Cloud-based Solution for Yachts
NextGENTV broadcasting with Cloud to Cable (ATSC 3.0) - Broadcasting to CABSAT
New Revenue Opportunities for Cloud Apps and Services with CloudtoCable
EGLA CORP: Innovation, Intellectual Property Services, and Capital
Music for Cable Music Service for Operators

Taller de Android

  • 1. Edwin Hernandez, PhD UBIWIRELESS, LLC Taller : WebConf Latino Julio 22, 2010
  • 2. Contenido de la Presentación Introducción a la architectura de Android Formas de trabajar en Android Android SDK : Desarrollar Applicaciones Android NDK: Desarrollar librerias nativas MyDroid: Codigo entero que corre en el emulador o en el telefono.
  • 3. Android Android es un “middleware” un software stack para sistemas móviles que incluye: Una Máquina Virtual: DALVIK-VM (Comprado por Google y Optimizado) Serie de Librerías y Recursos escritos en Java: JDK, Jars, JNI, Reflexión KERNEL: LINUX 2.6-* que se continua actualizando Cada “release” tiene nombres de postres, “cupcake”, “donut”, “eclaire”, etc
  • 4. Logica para programa en Android Codigo en JAVA+C/C++ Recursos en XML Compilacion a .class Generacion .DEX con Optimizacion Archivo APK
  • 5.  
  • 6. Android Runtime Linux Kernel 2.6.x Modem Link Modem GSM/3G/CDMA AP
  • 7. Application/Activity Java Native Interface JNI (Java) Android Service Middleware/Native ServiceBSP Component
  • 8. Otras partes de Android Framework en Java con muchos objetos y clases para utilizar Dalvik virtual machine: Dalvik-VM Integrated browser based on the open source WebKit engine Gráficos con OpenGL ES SQLite para almacenar datos Multimedia: audio, video, e imagenes (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) Telefonia (GSM, CDMA) GPS, Bluetooth, WiFi, y mas, derivados de Linux
  • 9. Ahora vamos a Linux Linux: Uso del “driver model,” open source, Abstraccion de Hardware (HAL), manejo de memoria, seguridad Librerias Nativas: Manejo de Superficies via OpenGL y otras librerias nativas como: Packet Video, SQL Lite, WebKit. EL “And roid Runtime”: Dalvik VM. DEX file support, .class files are converted are runtime y mapeadas a procesos nativos Linux
  • 10. Productos a Desarrollar en Android Primero: Aplicaciones, son archivos “APK” Desarrollo via Eclipse o MOTODEV, hasta “vi”. Android SDK (Reciente version 2.2) Segundo: Librerias nativas para Android, muchos para mejorar rendimiento y para funcionalidad que no esta en el “framework” las agregan locales (NDK) Tercero: Crear imagines, se podria hacer un acuerdo de colaboración con un proveedor de hardware y su BSP y crear telefonos inteligentes 
  • 11. Que mas necesitamos para hacer una aplicación? Mucha creatividad! Bajar todas las herramients Todas las herramientas son gratuitas! Diseñar el flow y empezar a probarlo en el emulador
  • 12. Ambiente de Desarrollo Eclipse/MotoDev Bajar el SDK de http://source.android.com/source/download.html Seguir instrucciones de Google para instalar SDK Important components ADB: Android Debug Build DDMS: Debug Data Management System Android script: Para crear AVDs (Android Virtual Device) Emulator: QEMU para simular el telefono DX: Converte los .class a DEX
  • 15. DDMS
  • 19. SDK Demo utilizando Eclipse y APIDemos
  • 20. Componentes de un APK Activity : Es la “actividad.” Muchos crean un “Application” con muchas “actividades” Intent : Mecanismo utilizado para activar componentes y comunicarse entre actividades. Broadcast Receiver : Estan diseñados para registrarse a leer “Intents” y recibirlos Content Providers : Proveen datos a todo el sistema, acceso a Contactos, Listado de Mensajes, DRM Services: No tienen UI, y por lo general correr en el “background”
  • 21. Estados de una Aplicacion en Android
  • 23. Activity Unidad Principal. Una actividad es lo que se ejecuta y es manejado por el Dalvik-VM en un “life-cycle”. Una aplicacion puede tener varias actividades entrelazadas, pero solamente una es la que se lanza del icono principal El UI se define via el archivo “Manifest,” DroidDraw o un XML Editor El Archivo Manifest, contiene importantes definiciones para la “Actividad,” UI, filtros de intents, otras actividades, permisos de acceso.
  • 24. Service Un servicio, probablemente no tiene UI Generalmente utliza Noticaciones y el Toolbar para presentar actualizaciones Generalmente se comiena y se manaja en el background Tratar de utilizar la clase AsyncTask para correr procesos en el “background”
  • 25. Intent Mecanismo de comunicación entre actividades (Activities) Puede ser implicito, o explicito Se puede hacer un Broadcast Intent, o se puede seleccionar la clase que se quiere lanzar. Se pueden definir nuevos intents, INTENT_WEBCONF si se desa via archivo manifest
  • 26. Broadcast Receiver Se implementa para recibir un Intent, ya sea que este en el sistema: e.g. ACTION_CALL o cualquier intent creado por una actividad El BroadCast Reciever es util apra manejar eventos Chequear los “Permissions” siempre, no todos los Intents pueden recibirse por una clases de este tipo
  • 27. Content Provider Es simplemente una abstraccion para accesar una clase de datos, de una o varias tablas en SQLITE o en un archivo El ContentProvider implementa el acceso a la clase, se puede utlizar de varias actividades y no se necesitan hacer uso de comandos tipo SELECT como en SQLITE Muchos “Developers” no los utilizan
  • 28. Seguridad y Permisos Cada aplicacion creada en /data/ tiene un UID unico Cada aplicacion creada en /system es de otro UID y generalmente no se puede borrar del sistema La seguridad de aplicaciones puede requerir firmar el APK con una misma llave para verificar sea valido A su vez, Certificados asociados con el “System” previenen ingreso no autoizado En un “rooted” phone estos permisos son validos pero pueden ser reemplazados.
  • 29. Muchos otros servicios en Android Location: GPS a travez de LocationProviders Multimedia Mensajeria de Texto y Multimedia Busqueda Muchos mas localizados en: http://developer.android.com/resources/index.html
  • 30. Veamos Ejemplo de “APIDemo” Views App OS WebViews ListActivity
  • 32. MyDroid : Open Source Podemos revisar todo el codigo de los “Repos” de Google, incluyendo codigo de HTC, y otros “Vendors” Que podemos encontrar: Un Browser: Browser App Un Provider: Digital Rights Management Integracion con el Kernel: BSP es Goldfish Architecture. Mucha memoria, 8GB mínimo. Seguir instruccione en: http://source.android.com/source/git-repo.html
  • 34. Resumen de funcionamiento : JNI – Java Native Interface
  • 35. NDK Se pueden crear librerias de extension .so en C/C++ Ejemplos de combinacion Nativo + Java Bluetooth RIL : Radio Interface Layer Camera App DRM: Digital Rights Management Now your own applications!
  • 36. NDK
  • 38. Futuro de Desarrollo de Apps App Inventor : Enlistarse para revisar BETA