Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tallerdeandroidcompatible 100730082044 Phpapp02
Tallerdeandroidcompatible 100730082044 Phpapp02
Contenido de la Presentacin
Introduccin 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
Compilacion a .class
Archivo APK
Application/Activity Android Service JNI (Java) Java Native Interface Middleware/Native ServiceBSP Component
clases para utilizar Dalvik virtual machine: Dalvik-VM Integrated browser based on the open source WebKit engine Grficos 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
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 Android Runtime: Dalvik VM. DEX file support, .class files are converted are runtime y mapeadas a procesos nativos Linux
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 colaboracin con un proveedor de hardware y su BSP y crear telefonos inteligentes
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
DroidDraw
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 diseados 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
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
Service
Un servicio, probablemente no tiene UI Generalmente utliza Noticaciones y el Toolbar para presentar actualizaciones Generalmente se comiena y se manaja en el
Intent
Mecanismo de comunicacin entre
actividades (Activities)
Puede ser implicito, o explicito
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
http://developer.android.com/resources/index.htm
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
http://source.android.com/source/git-repo.html
Browser Activity
NDK
Se pueden crear librerias de extension .so en
NDK
NDK
Codigo en C
MOTODEV DEMO
Motorola