Android
Upcoming SlideShare
Loading in...5
×
 

Android

on

  • 1,068 views

 

Statistics

Views

Total Views
1,068
Views on SlideShare
1,068
Embed Views
0

Actions

Likes
0
Downloads
18
Comments
0

0 Embeds 0

No embeds

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

Android Android Presentation Transcript

  • ¿ La nueva referencia en los dispositivos móviles?
  • Indice
    • 01 Objetivo de Google
    • 02 Modelo de Negocio y Ecosistema
    • 03 Soporte de la Industria
    • 04 Características de Android
    • 05 Arquitectura de Android
    • 06 Desarrollando con Android
    • 07 Puntos Abiertos y Conclusiones
  • Objetivo de Google
    • El Objetivo: Aumentar negocio publicidad y profiling de usuario, incrementando número de dispositivos conectados a internet, con la inclusión de los móviles, donde ofrecer la “Expeciencia Google”,
      • Experiencia Google: Es el look&feel, conjunto de servicios y sus interacciones que Google oferta a sus usuarios.
    • El problema: La alta fragmentación de SOs y dispositivos hace que la implementación de la Experiencia Google no sea idéntica.
    • La solución: Crear un entorno de ejecución flexible, robusto y de libre distribución que brinde lo mejor de la Experiencia Google a sus usuarios
    01
  • Modelo de Negocio y Ecosistema
    • Android se presenta como un entorno de ejecución compacto, flexible, robusto y de libre distribución (por confirmar), donde el usuario final es el centro de atención:
      • Pretende ofrecer la mejor experiencia de usuario, unificada y atractiva, independientemente del dispositivo.
      • Pretende reducir el coste de producción de un dispositico (Google estima hasta 10%)
    • El ecosistema de Android, representado en la alianza OHA (www.openhandsetalliance.com), ofrece:
      • A fabricantes de dispositivos : Reducción de costes en licencias. Reducción de Time2Market por la facilidad de integración de Android en su HW
      • A desarrolladores y proveedores de contenidos : Hacer realidad el paradigma “write once, run many”
      • A Operadores : Un entorno abierto para personalizar e integrar servicios de una manera sencilla y rápida.
    • Con estos argumentos:
      • ¿Podrá Android imponerse en un mercado tan competitivo y fragmentado como el de los dispositivos móviles?
      • ¿Habrá un verdadero ahorro de costes que permita disponer de Android en terminales gama media-baja y, por tanto, conseguir una penetración significativa?
    02
  • Soporte de la Industria
    • Existe mucha fragmentación en entornos de ejecución abiertos:
      • Symbian (S60, UIQ)
      • Windows (WM5, WM6, WM7)
      • Linux (diversas compilaciones)
      • ¡ Y ahora Android!: Paradojicamente, la búsqueda de una plataforma unificada conlleva la creación de un entorno nuevo, fragmentado más de por sí este mundo.
    • Además la competencia entre fabricantes es muy férrea. ¿Conseguirá Android el apoyo de las grandes marcas?
      • Nokia: Centrada en S60 y S40. No parece posible.
      • Sony-Ericsson: Plataforma propia. No parece posible.
      • Samsung: Multiplataforma, podría ser un candidato
      • Motorola: mercado americano, podría ser un candidato
    • Disponer de una masa crítica de terminales vendidos, que alimente el ecosistema positivamente, y recibir el apoyo de los “grandes” es crítico para el éxito de Android.
    03
      • Unix BSD (iPhone)
      • J2ME (fragmentado por implementaciones propietarias)
      • JavaFx (reciente aparición)
      • LG: Multiplataforma, podría ser un candidato
      • RIM: Plataforma propia, no parece posible
      • HTC: Centrado más en Windows Mobile, pero podría ser un candidato.
  • Características de Android (I)
    • Entorno de ejecución: integramente desarrollado desde J2ME.
    • Modelo de licenciamiento: Kernel bajo GPLv2. User-space bajo Apache License.
    • Utiliza su propia Máquina Virtual “Dalvik”, que ejecuta código optimizado para dispositivos móviles (.dex) y gestiona la memoria de manera más eficiente).
    • Requisitos HW: Procesador ARM9 – 200MHz, 128MB RAM, Mini/micro SD, Pantalla QVGA TFT 16 bits (Por confirmar). Opcional: Teclado qwerty, wifi, gps (Por confirmar)
    • Requisitos SW: Linux 2.6
    04
  • Características de Android (II)
    • Browser: basado en KHTML, WebKit. Full-navigation, CSS,javascript, DOM, ajax
    • Gráficos: SGL para 2D y Open GL para 3D
    • Media Framework: basado en código open de packetVídeo (Por confirmar)
    • Modelo Seguridad: Las aplicaciones tienen que declarar acceso a recursos sensibles y el usuario final decide en tiempo de ejecución si lo permite o no. Actualmente no presenta modelo de certificación de aplicaciones, pero podría ofrecer delegación en el futuro.
    • Gestión DRMs: Actualmente no soporta ningún modelo de DRM
    • Gestión remota del dispositivo: Actualmente no soportado.
    • APIs específicos para servicios de Google: Maps, Media, XMPP.
    04
  • Arquitectura de Android 05
  • Desarrollando con Android (I)
    • El SDK Android permite el desarrollo de aplicaciones en Java . Perfectamente integrado en Eclipse . Herramientas adicionales (ADB) como alternativa a Eclipse.
    • Estructuras básicas de Android
      • Activities: Equivale a una ventana. Pueden recibir valores y devolverlos
      • Intents & intentsFilters: Equivalente a un RPC permite especificar lo que ha de hacer la aplicación
      • IntentReceivers : Receptores de alarmas y notificaciones. Pueden levantar un proceso si es necesario.
      • Services: Clases sin internfaz corriendo en background.
      • Content Providers: Permiten compartición de datos entre aplicaciones. Uso de SQLite.
    • Android redefine el ciclo de vida de una aplicación:
      • Delega la gestión de procesos a Linux , asegurando robustez . Cada aplicación corre en un proceso.
      • Nuevo modelo de estados de una aplicación: OnCreate(),OnStart(),OnPause(), OnFreeze(), OnResume(),OnStop(), OnQuit()
    06
  • Desarrollando con Android (II)
    • Diseño de interfaces basado en XML con objeto de garantizar compatibilidad entre dispositivos con capacidades gráficas diferentes.
      • Se echa de menos una herramienta gráfica para diseño de interfaces.
    • Apreciaciones subjetivas de desarrollo, en el estado actual
      • Disponer de código abierto, bajo licencia GPL, ofrece oportunidades de personalización del entorno nunca vistas en el mundo móvil.
      • En general Android, pese a ser Java-compatible, requiere un periodo de aprendizaje inicial para sacar el maximo partido.
      • Además se aprecia que el entorno de desarrollo está algo inmaduro (inestable) y se echan en falta más packages de acceso a capacidades de los dispositivos (telefonía, SIM, Wifi, bluetooth, GPS, etc.)
    06
  • Desarrollando con Android (III)
    • Esqueleto de un proyecto Android
    06
  • Desarrollando con Android (IV) 06
    • El archivo Manifest
    • El fichero R.java (autogenerado)
  • Temas abiertos y Conclusiones (I)
    • Comercialmente: modelo de negocio claro y ampara players del ecosistema .
      • ¿Conseguirá el modelo de licencias GPL y ASL imponerse a la dura competencia de los grandes fabricantes y su experiencia y arraigo con S.Os alternativos?
      • Debe existir un verdadero ahorro de costes y reducción del Time2Market en dispositivos para que Android se tenga una penetración masiva.
    • Técnicamente: framework robusto, modular y abierto; además Linux le avala (aunque a día de hoy sólo es un emulador en un PC/Mac) . Está por demostrar:
      • Que hace verdad el paradigma write once, run many sobre dispositivos heterogéneos.
      • Que garantiza la unicidad de la Experiencia Google en cualquier terminal.
      • Que el entorno de desarrollo es estable y permite desarrollos más rápidos y potentes.
    07
  • Temas abiertos y Conclusiones (II)
    • Aún con todas estas incertidumbres, propias de un producto recién lanzado….
    07 … ¡Es el primer entorno realmente OPEN que nos ofrecen a la comunidad de desarrollo móvil! ¡Divirtámonos! Open Movilforum
  • Entorno de desarrollo: Configuración
    • Descarga e instalar eclipse: http://www.eclipse.org/downloads, escoger la opción de Eclipse IDE for Java Developers (unos 99 Megas). En la carpeta del curso (/software) hay un eclipse para agilizar la instalación.
    • Descargar y instalar Android SDK: (recomendado 1.6). En la carpeta del curso (/software/SDK Android) se disponen de los SDKs en función del sistema (Windows, MAC, Linux).
    • Descargar y instalar Android ADT plugin para Eclipse: http://developer.android.com/sdk/eclipse-adt.html. La forma más práctica: en Eclipse ir a HELP > Software Udaptes > Available software > add > https://dlssl . google.com/android/eclipse/ Si no funciona la URL o quitar https por http o instalar manual Available software > add > archive > .zip Name = “Android Plugin” Para usuarios de Linux ayuda adicional en: http://www.siliconkernel.com/tag/adt/
    • Variables de entorno: SDK/tools en el PATH. En eclipse: Window-preferencesponer
    • el SDK.
    • API & AVD: Windows – Android SDK – Available Packages –
    • Instalar las dos API4. Luego crear un AVDs
    • Workspace: Copiar workspace a la máquina local y importar
    • los proyectos (File-Import-Existing projects…)
  •