Desarrollo de Aplicaciones M�viles ANDROID 00000101-00010010 by BF1ZWkx

VIEWS: 0 PAGES: 28

									   Computación Móvil
     Introducción

Pontificia Universidad Javeriana
               MIT
           LOGyCA-CLI
                   Agenda
• Plataformas de desarrollo en dispositivos
  móviles.
• Historia
• Características
• Arquitectura
• Fundamentos de las Aplicaciones
• Herramientas de desarrollo
• Referencias
        Plataformas de desarrollo en
             dispositivos móviles
• † Symbian Foundation –Nokia-
   – Symbian OS
• Microsoft
   – Windows Phone 7 Series
• Open Handset Alliance
   – Android 4.0
• Apple
   – iPhone OS 5
• Research in Motion (RIM)
   – Blackberry OS 7
• HP - Palm
   – WebOS 3.0.5
Plataformas de desarrollo en
  dispositivos móviles [12]
Plataformas de desarrollo en
     dispositivos móviles
Plataformas de desarrollo en
     dispositivos móviles
                                Historia
• Google Inc. [1]
    – Ingresos 23.651 millones USD (2010)
    – Rank: 102 (annual ranking of America's largest corporations )
• Google Inc.: “Wireless Strategy” [2]
    – 2005-Julio: Google compra Android Inc.
• Open Handset Alliance [3]
    – 2007-Noviembre
    – 2011-Enero: 79 corporaciones
        • Mobile Operators(13): Vodafone, China Telecommunications Corporation y
          Spring Nextel entre otras.
        • Handset Manufacturers(20): Acer, Dell, Lenovo, LG, Samsung, Motorola y Sony
          Ericcson entre otras.
        • Semiconductor Companies (20): Intel, BroadCom, Atheros, NVIDIA y Texas
          Instruments entre otras.
        • Software Companies (16): Google y Ebay entre otras.
        • Commercialization Companies(10): Wipro y Teleca entre otras.
                    Historia
– 2008-Octubre: Android Open Source
– 2010-Diciembre: Android Platform 2.3, API Level 9
– [7] 2011-Enero: Android Platform 3 Preview.
– [4][5][6][8] Dispositivos Android
   • 2008-S2: Primer dispositivo android. HTC Dream -
     Android Dev Phone
   • 2010-Diciembre: Primer dispositivo android 2.3
     Samsung Nexus S.
                   Historia
• 2008-Octubre : Android Market.
  – [9] 2010: 5.2 Billones de descargas
  – [10]2011-Ene: Apple 10 B de descargas
  – 2010-Jun: Android Market 1B de descargas
• Apple AppStore versus Android Market
  – 2010-Ene AppStore: +150K Aplicaciones
  – 2010-Oct AppStore: +300K Aplicaciones
  – 2010-Ene Android Market: +20K Aplicaciones
  – 2010-Oct Android Market: + 100K Aplicaciones
                   Características [14]
• Framework de aplicación que permite la reutilización y reemplazo de
  componentes.
• Máquina virtual Dalvik optimizada para móviles.
    – Oracle (Java) demanda a Google (Android).
        • SUN (Comprado por Oracle) libero el lenguaje bajo licencia GPL (GNU Public License).
        • Excepciones JME.
        • Dalvik es un open souce project.
• Navegador integrado basado en el motor open source WebKit.
    – Open source project.
    – Motor usado en Safari, Google Chrome entre otros.
• Gráficos optimizados por una librería gráfica 2D propia; gráficos 3D
  basados en la especificación OpenGL ES 1.0.
    – Open Standards
• SQLite para almacenamiento de datos estructurados
    – SQL Consortium: Bloomberg, Symbian, Oracle, Mozilla, Adobe, entre otros.
    – El código es “public domain”
           Características [14]
• Soporte para gran variedad de formatos
  multimedia (MPEG4, H.264, MP3, AAC, AMR, JPG,
  PNG, GIF).
• Telefonía GSM (Global System for Mobile
  Communications):
  – Usada en Colombia.
• Bluetooth, EDGE, 3G y WiFi (4G, WiMAX,…)
• Cámara, GPS, compás, acelerómetro,…
• Entorno de desarrollo completo incluyendo
  emuladores, herramientas de depuración y plugin
  para el IDE Eclipse entre otros.
           Características [14]
• Versiones:
  – Versión 2.3 de Dic-2010.
  – Versión 2.2 de Jul-2010.
                 Arquitectura
• Kernel linux 2.6
• Runtime basado en VM
  Dalvik
• Conjunto de librerías
  C/C++
• Framework común a
  todas las aplicaciones
  basada en servicios
• Aplicaciones base
  implementadas en Java
  (todas reemplazables)
    Fundamentos de las Aplicaciones
•   Las aplicaciones se escriben en el lenguaje de programación Java .
•   La herramienta del A-SDK apkbuilder permite crear crear el android package (.apk).
     – Archivo de instalación y distribución de las aplicaciones android.
     – Para instalar una aplicación (. apk) fácilmente:
          •   En el dispositivo android:
                 –   En configuración, Aplicaciones habilitar Fuentes desconocidas.
                 –   En el android market instalar la aplicación gratuita ApkInstaller
                 –   Conectar el dispositivo móvil por USB al PC y habilitar la interacción de FS (File System).
                 –   Copiar el apk en el FS del dispositivo.
                 –   Ejecutar ApkInstaller e instalar la aplicación android.


•   Características de una aplicación android
     – Cada aplicación es independiente y se ejecuta en su propio proceso de Linux.
     – Cada proceso tiene su propia máquina virtual de Java
     – Por defecto a cada aplicación se le asigna un único Linux user id.
          •   Indica los permisos de acceso de los archivos al usuario y a la aplicación.
          •   Puede exportarse para permitir compartir acceso a archivos desde otras aplicaciones y/o usuarios.
 Fundamentos de las Aplicaciones
• Una característica importante de Android es
  que una aplicación pueda usar elementos de
  otras aplicaciones.
• Componentes de una aplicación:
  – Actividades
  – Servicios
  – Broadcast receivers
  – Content providers
 Fundamentos de las Aplicaciones
• Actividad
  – Es una interfaz visual de usuario enfocada en algo
    que el usuario puede realizar
     • Presentar un listado con un conjunto de opciones.
  – Una aplicación puede estar formada por un
    conjunto de actividades independientes que
    trabajan juntas.
     • Una de las actividades se marca como la inicial al
       arrancar una aplicación
 Fundamentos de las Aplicaciones
• Servicio
  – No tiene interfaz visual de usuario
  – Se ejecuta en background por periodo indefinido
    de tiempo.
     • Reproductor de música
  – Es posible acceder desde otros componentes o
    aplicaciones
 Fundamentos de las Aplicaciones
• Broadcast receivers
  – No realiza ningún acción por si mismo
  – Recibe y reacciona ante anuncios de tipo
    broadcast
  – Existen muchos originados por el sistema
     • Batería baja , usuario cambio la preferencia de idioma.
  – Las aplicaciones puede lanzar un broadcast
  – No tienen UI, aunque pueden iniciar una actividad
    para atender al anuncio
 Fundamentos de las Aplicaciones
• Content providers
  – Expone un conjunto especifico de datos a otras
    aplicaciones
     • Los datos pueden estar almacenados en cualquier
       lugar: FS, SQLite database, entre otros lugares.
  – Hace uso de un objeto ContentResolver para
    acceder a los datos expuestos por un objeto
    Content Provider
 Fundamentos de las Aplicaciones
• Activación de los componentes : intents
  – Content providers: Al recibir una petición desde un
    ContentResolver
  – Actividades, Servicios y Broadcast Receivers:
     • Al recibir un mensaje asíncrono llamado Intención
         – Es un objeto de tipo Intent que mantiene el contenido del
           mensaje.
     • En actividades y servicios
         – Representa la intención de querer realizar algo
             » La intención de seleccionar un contacto como remitente.
     • En broadcast receivers
         – Representa el anuncio del comienzo de una acción
             » Anunciar que se ha pulsado el botón de la cámara
 Fundamentos de las Aplicaciones
• El archivo de manifiesto
  – Componente incluido en el .apk
  – Estructura XML nombrado AndroidManifest.xml
  – Informa de todos los componentes de la
    aplicación
     • Actividades
     • Servicios, etc.
 Fundamentos de las Aplicaciones
• Filtros de intención
  – Un objeto de tipo Intent puede explicitamente
    nombrar un componente destino.
  – Android puede de forma implicita revisar el
    manifiesto para indicar el componente adecuado
    para responder a la intención. (intent filters).
     Herramientas de desarrollo
• Android SDK [14][15]
  – Tiene principalmente:
     • Herramientas, ejemplos y documentos
        – Tools Overview:
          http://developer.android.com/guide/developing/tools/index.
          html
        – Instrucciones de instalación:
          http://developer.android.com/sdk/installing.html
   Herramientas de desarrollo
– Instrucciones
   • 1. Verificación de requerimientos de HW y SW: JDK,
     Eclipse.
   • 2. Android SDK
   • 3. Instalar el plugin ADT (Android Development Toolki)
     para eclipse.
   • 4. Adicionar plataformas y otros componentes
     Herramientas de desarrollo
• Android Development Tools (ADT 9.0.0 Ene-
  2011)
  – ADT es un plug-in para Eclipse
  – Instrucciones
     • http://developer.android.com/sdk/eclipse-adt.html
     • Instrucciones:
        – 1. Verificación de requemientos: ECLIPSE
        – 2. Desde eclipse instalar el ADT
        – 3. Configurar
     Herramientas de Desarrollo
• Android NDK (5b, Ene 2011)
  – Conjunto de herramientas que permiten incluir
    componentes que usen código nativo (C / C++) en
    aplicaciones android.
  – Intalación :
    http://developer.android.com/sdk/ndk/index.html
  – Instrucciones
       – 1. Verificación de requerimientos: Android SDK
       – 2. Bajar el archivo bajo el S.O. que corresponde
       – 3. Descomprima.
                       Referencias
• [1] Google Inc. , página consultada el 31/01/2011
http://money.cnn.com/magazines/fortune/fortune500/2010/snapshots/1120
    7.html
• [2] Android Inc. , página consultada el 31/01/2011
http://www.businessweek.com/technology/content/aug2005/tc20050817_0
    949_tc024.htm
• [3] Open Handset Alliance, página consultada el 31/01/2011
http://www.openhandsetalliance.com/
• [4] HTC primer dispositivo Android, página consultada el 31/01/2011
http://www.businessweek.com/globalbiz/content/nov2007/gb2007118_7299
    49.htm?chan=top+news_top+news+index_global+business
• [5] Android phones, página consultada el 31/01/2011
http://www.andro-phones.com/
• [6] HTC primer dispositivo Android, página consultada el 31/01/2011
http://htcdream.com/
• [7] Android platform 3, página consultada el 31/01/2011
 http://developer.android.com/sdk/preview/index.html
                           Referencias
• [8] Android nexus s, página consultada el 31/01/2011
 http://www.google.com/phone/detail/nexus-s
• [9] Estadisticas de descargas, página consultada el 31/01/2011
http://www.gartner.com/it/page.jsp?id=1466313
• [10] Estadísticas de descargas de aplicaciones móviles para el 2011, página
    consultada el 31/01/2011 http://www.channelinsider.com/c/a/Spotlight/Mobile-
    App-Store-Revenue-to-Triple-in-2011-Gartner-Says-762208/
• [11] Comparación entre AppStore y Android Market, página consultada el
    31/01/2011
http://www.cristalab.com/blog/apple-app-store-la-mas-grande-android-market-crece-
    fuerte-c84910l/
• [12] Predicciones de SO móviles, página consultada el 31/01/2011
http://androidandme.com/2010/09/news/gartner-android-will-finish-the-year-as-the-
    2-mobile-os-with-world-domination-in-sight/
• [13] Plataforma android, página consultada el 31/01/2011
http://developer.android.com/guide/basics/what-is-android.html
• [14] Plataforma Android, página consultada el 31/01/2011
http://developer.android.com/sdk/index.html

								
To top