Resumen




1. Introducción a Android   2. Entorno de desarrollo   3. Plataforma Google Play
1. Introducción a Android
Conceptos de sistema y hardware
¿Qué es Android?




H A L
HAL: 3 capas




      +              +



Hardware   Android        Launcher
Capa 1: Hardware
Capa 1: Hardware



        PROCESADOR


        MEMORIA RAM


        MEMORIA INTERNA


        TIPO PANTALLA
Capa 1: Hardware



        PROCESADOR
        CÁMARA
        MEMORIA RAM
        MARCA
        MEMORIA INTERNA
        BATERÍA
        TIPO PANTALLA
Dispositivos
Dispositivos: Parrot Asteroid
Dispositivos: OUYA
Dispositivos: Sony TV
Dispositivos: Recon Instruments
Dispositivos: Samsung Galaxy Camera




                                 16M
Domótica
Capa 2: Software (Android)
Capa 2: Software (Android)


                   2.3


                   4.0



                    4.1
Capa 2: Software (Android)

   SISTEMA         2.3


                   4.0



                    4.1
Capa 3
Capa 3: Launcher

           BARRA DE NOTIFICACIONES

           CONTROL DE ENERGÍA




           WIDGETS

           ICONOS

           BARRA INFERIOR
Capa 3: Launcher




             Go Launcher EX
             GO LAUNCHER DEV TEAM
Capa 3: Launcher




               HTC Sense
                   HTC
Capa 3: Launcher




                   TouchWiz
                     Samsung
Capa 3: Launcher




                   Regina 3D
                     Nemus
Capa 3: Launcher




               Launcher 7
                   Timo Kujala
Capa 3: Launcher




                   Launcher
              Android Oficial (Vanilla)
¿Por qué Android?
PRODUCTO




     BlackBerry   iPhone   Windows Phone   Android

EMPRESAS
Ventas a nivel mundial




                                     Fuente: Gartner & IDC
             http://en.wikipedia.org/wiki/Mobile_operating_system
Diversidad
Diversidad




             MIN
             1GB
             RAM
Diversidad




              MIN
             1GHz
              CPU
Diversidad




              MIN
             ANDROID
             4 (ICS)
Proceso de preparación de actualización




ACTUALIZACIÓN
 DE ANDROID
Proceso de preparación de actualización




ACTUALIZACIÓN    ADAPTACIÓN
 DE ANDROID     DEL FABRICANTE
Proceso de preparación de actualización




ACTUALIZACIÓN    ADAPTACIÓN        ADAPTACIÓN
 DE ANDROID     DEL FABRICANTE   DE LA OPERADORA
Proceso de preparación de actualización




ACTUALIZACIÓN    ADAPTACIÓN        ADAPTACIÓN        CLIENTE
 DE ANDROID     DEL FABRICANTE   DE LA OPERADORA   DESESPERADO
Acuerdo de lanzamiento de actualizaciones




                                18 MESES
Root
Obtener permisos de administrador




                          Control total:
                          
                              Droidwall
                          
                              Cambiar ROM
                          
                              Actualizaciones
                          
                              Overclock
                          
                              Eliminar apps
Hardware
Procesador
Procesador




       Quadrant Standard Ed.
             Aurora Softworks
Procesador
Procesador
Procesador
Memoria y almacenamiento
Memoria y almacenamiento
Particionado
Arquitectura
Arquitectura
Arquitectura
Arquitectura
Arquitectura
Liberación de memoria




     MODELO ERRÓNEO




MEM 30%        TASK-KILLER
Liberación de memoria




    MODELO CORRECTO




                            CACHÉ




MEM 90%        AUTOMÁTICO
Seguridad
Malware




Malware en Android
    Kaspersky
Malware




Malware en Android
     Sophos
Permisos
Otras formas
Evitar Markets alternativos
Fragmentación
Versiones de Android
Android 1.5
     Cupcake





    Teclado predictivo

    Soporte Bluetooth

    Widgets y carpetas

    Transiciones animadas
Android 1.6
      Donut





    Android Market mejorado

    Búsqueda por voz mejorada

    Soporte para VPN y TTS

    Soporte para resoluciones WVGA
Android 2.1
      Eclair





    Interfaz de usuario renovada

    Soporte para HTML5

    Cámara mejorada: flash y zoom

    Teclado virtual mejorado
Android 2.2
      Froyo





    Compilador JIT

    Motor Javascript V8

    Tethering por USB

    Permite mover apps a SD
Android 2.3
    Gingerbread





    Interfaz de usuario renovada

    Soporte para vídeos WebM/VP8

    Soporte para VoIP/NFC

    Sistema de archivos YAFFS a EXT4
Android 3.0
    HoneyComb





    Soporte para tablets

    Videoconferencia (via Gtalk)

    Soporte para periféricos USB

    Widgets redimensionables
Android 4.0
Ice Cream Sandwich




  
      Multidispositivo (tablets, TV...)
  
      Interfaz Holo (Fuente Roboto)
  
      Aceleración gráfica por hardware
  
      Reconocimiento facial
Android 4.1
    Jelly Bean





    Project Butter: Fluidez de sistema

    Dictado por voz (sin Internet)

    Notificaciones mejoradas

    Actualizaciones inteligentes
Problemas de la fragmentación
 Características importantes no presentes
Versiones de Android
Versiones de Android
Pantallas y resoluciones
Pantallas y resoluciones
px (Píxel tradicional)




No compatible con varios dispositivos
dp (Píxel independiente densidad)




     Compatible con varios dispositivos
sp (pixel independiente de la escala)


  Pequeño       Pequeño          Pequeño

  Mediano       Mediano
                                 Mediano
 Grande
              Grande
                                 Grande



            Ideal para fuentes
Pantallas y resoluciones
OpenGL
Posibilidades de Android
2. Entorno de desarrollo
Preparación/configuración del SDK
Entorno de desarrollo




IDE          Java             SDK
Entorno de desarrollo




                    Java             SDK


Eclipse
   +
Plugin ADT
Entorno de desarrollo




                          Java             SDK


NetBeans
   +
Plugin nbandroid
Entorno de desarrollo




                             Java             SDK


Intellij IDEA
       +
Plugin idea-android
Máquina virtual Java




  .java                 .class             Java
Código fuente       Bytecode compilado   Máquina virtual
Máquina virtual Dalvik




  .java                   .dex             Dalvik
Código fuente        Bytecode compilado   Máquina virtual
Entorno de desarrollo




                                     SDK


Eclipse
   +
Plugin ADT
Entorno de desarrollo




Eclipse
   +
Plugin ADT
Paso 1: Instalar Java
 http://www.java.com/es/
Paso 2: Instalar IDE Eclipse
 http://www.eclipse.org/downloads/
Paso 2: Instalar IDE Eclipse
 http://www.eclipse.org/downloads/




                            Europa, Ganymede,
                              Galileo, Helios,
                                 Indigo...




                              Juno (Eclipse 4.2)
Paso 3: Instalar SDK de Android
    http://developer.android.com/sdk/
Paso 4: Instalar API de Android
 Inicio / Android SDK Tools / SDK Manager
Paso 4: Instalar API de Android
 Inicio / Android SDK Tools / SDK Manager
Paso 5: Instalar plugin ADT
 Eclipse: Help / Install New Software
Paso 5: Instalar plugin ADT
 Eclipse: Help / Install New Software
Crear máquinas virtuales
Inicio / Android SDK Tools / AVD Manager
Crear máquinas virtuales
Inicio / Android SDK Tools / AVD Manager
Crear máquinas virtuales
Inicio / Android SDK Tools / AVD Manager
Crear máquinas virtuales
Inicio / Android SDK Tools / AVD Manager
Crear máquinas virtuales
Inicio / Android SDK Tools / AVD Manager
Crear máquinas virtuales
Inicio / Android SDK Tools / AVD Manager
Crear máquinas virtuales
Inicio / Android SDK Tools / AVD Manager
Crear máquinas virtuales
Inicio / Android SDK Tools / AVD Manager
Crear máquinas virtuales
Inicio / Android SDK Tools / AVD Manager
VirtualBox
https://www.virtualbox.org/
Android x86
http://www.android-x86.org/
VirtualBox
http://developer.android.com/sdk/
Crear máquinas virtuales
Inicio / Android SDK Tools / AVD Manager
Crear máquinas virtuales
Inicio / Android SDK Tools / AVD Manager
ADB: Android Debug Bridge
http://www.emezeta.com/articulos/10-operaciones-utiles-para-android-via-adb




                 Android SDK / platform-tools / adb
ADB: Android Debug Bridge
http://www.emezeta.com/articulos/10-operaciones-utiles-para-android-via-adb




                 Android SDK / platform-tools / adb
ADB: Android Debug Bridge
http://www.emezeta.com/articulos/10-operaciones-utiles-para-android-via-adb




                 Android SDK / platform-tools / adb
DDMS: Dalvik Debug Monitor
     Android SDK / tools / ddms
DDMS: Dalvik Debug Monitor
     Android SDK / tools / ddms
DDMS: Dalvik Debug Monitor
     Android SDK / tools / ddms
DDMS: Dalvik Debug Monitor
     Android SDK / tools / ddms
DDMS: Dalvik Debug Monitor
     Android SDK / tools / ddms
DDMS: Logcat (Registros)
   Android SDK / tools / ddms
DDMS: Logcat (Registros)
   Android SDK / tools / ddms
DDMS: Logcat (Registros)
   Android SDK / tools / ddms
DDMS: Logcat (Registros)
   Android SDK / tools / ddms
DDMS: Logcat (Registros)
   Android SDK / tools / ddms
DDMS: Logcat (Registros)
   Android SDK / tools / ddms
Paquete APK
Estructura de una aplicación Android
Paquete APK
Estructura de una aplicación Android
Crear máquinas virtuales
Inicio / Android SDK Tools / AVD Manager
Interfaz Holo
Consejos y recomendaciones de diseño




http://developer.android.com/design/
Consejos
Recomendaciones para hacernos “fuertes”
Compresión “on-the-fly”
 Obtener información rapidamente




www.emezeta.com




                                   50KB
Compresión “on-the-fly”
 Obtener información rapidamente




www.emezeta.com



         Compressed HTML




               9KB

                                   50KB
Compresión “on-the-fly”
        Obtener información rapidamente




       www.emezeta.com




50KB                                      50KB
Batería
Reducir trabajo y mantener batería
Batería
Reducir trabajo y mantener batería




            Miliamperio-hora (mAh)
            Capacidad de la batería.




            Miliamperio (mA)
            Gasto de energía.
Baterías
            Dependen del dispositivo y capacidad




iPhone3GS       Galaxy S2        iPhone4S          Galaxy S3
 1219 mAh       1650 mAh         1420 mAh          2100 mAh
3G                         -150mA




Capacidad batería   Energía   Duración estimada

     1500 mAh / 150 mA = 10 horas
WiFi                          -275mA




Capacidad batería   Energía   Duración estimada

1500 mAh / 275 mA = ~5 horas y media
Transferencias cortas
  Implica ahorro de batería

    Descarga de un MP3 (6 MB)
Errores: FC y ANR
Tipos de errores en Android




                FC (Forzar cierre)
             Errores de codificación en
                   la aplicación.
Errores: FC y ANR
Tipos de errores en Android




             ANR (App no responde)
              App tarda demasiado
            (+5seg) en thread “main”.
http://www.appinventor.es/
http://stackoverflow.com/
3. Plataforma Google Play
Distribución y publicación de apps
Android Market   Google Play
Google Play




Versión web   Versión móvil
Google Play

                 - Nombre de la aplicación
                 - Autor



                            - Votos
                            (Total y media)




- Icono de aplicación
                             - Precio
Google Play




- Banner de alta resolución
Google Play


- Información
            - Opiniones
                       - Novedades
                               - Permisos
Google Play

Botones sociales
Google+ o Twitter
Google Play



Votos
Total de votos y media
Google Play




Última actualización
Fecha de la última versión
Google Play




Versión actual
Versión disponible para
descargar
Google Play




Versión de Android
Versión mínima en la que
funcionará la aplicación
Google Play




Categoría
Género de la aplicación
Google Play




Descargas
Número aproximado de
descargas de la aplicación
Google Play




Actividad reciente
Evolución de las descargas
durante los últimos 30 días
Google Play




Tamaño
Espacio que ocupa la
aplicación.
Google Play




Precio
Precio de la aplicación
Google Play




Clasificación
Nivel de madurez (público)
Google Play




- Varias capturas de pantalla
Google Play




                    - Valoración media
                    - Total de votos



- Votos por calificación
- Votos por calificación

                           - Valoración media

                           - Total de votos


“Hordas de usuarios cabreados que puntúan con
      una estrella tu aplicación porque ...”
...si la cierras, la aplicación deja de funcionar.




                              - Votos por calificación

                              - Valoración media

                              - Total de votos
...si la cierras, la aplicación deja de funcionar.



...se ha caído el móvil al suelo y ya no funciona.
...si la cierras, la aplicación deja de funcionar.



...se ha caído el móvil al suelo y ya no funciona.



...la palabra “EXIT” no está traducida al español.
Google Play




- Comentarios

- Versión de la app

- Puntuación para la app
Educación: Clases virtuales
Google Play




- Aplicaciones del autor

- Aplicaciones similares

- Aplicaciones instaladas
http://play.google.com/apps/publish/




                        Alta (Google)
                        Gratuita




                        Alta (Checkout)
                        Gratuita




                        Alta (Google play)
                        25$ ó 20€
Google Play Developer
           Formato antiguo
Google Play Developer
            Formato nuevo
Google Play Developer
Datos de la aplicación



        Título

   Máx: 30 carácteres
Datos de la aplicación



      Descripción

  Máx: 4000 carácteres
Datos de la aplicación



      Novedades

      Actualización

   Máx: 500 carácteres
Datos de la aplicación



     Traducciones

     Otros idiomas
Capturas de la aplicación



          Capturas

        Mín: 2 capturas
        Máx: 8 capturas
Capturas de la aplicación



          Capturas

        Mín: 2 capturas
        Máx: 8 capturas
Capturas de la aplicación



         Logo (icono)

      Icono de alta calidad
Capturas de la aplicación



         Logo (icono)

      Icono de alta calidad
Capturas de la aplicación



           Banner

        Formato largo
Capturas de la aplicación



           Banner

        Formato largo
Capturas de la aplicación



            Video

       Enlace a Youtube
Otros datos



Categorización

 Tipo y subtipo
Otros datos



Categorización

 Tipo y subtipo
Otros datos



Tipo de contenido

 Nivel de madurez
Nivel de madurez

Violencia, alcohol,
   drogas, etc...
Acceder a ubicación

                Acceder y compartir ubicación
Contenido generado por el usuario
Otros datos



Datos del autor

        URL
       Email
Teléfono (opcional)
Otros datos



Política de
privacidad

   URL
Precios y distribución


     App gratuita

      Excluir países
    Excluir operadoras

       App pago

    Diferentes precios
Servicios y APIs



 Servicios

Google Cloud
 Messaging
Subir aplicación APK


   Subir aplicación
     (máx: 50MB)

  Versiones actuales
  Versiones previas
Subir aplicación APK


   Subir aplicación
     (máx: 50MB)

  Reactivar versiones
       antiguas
Subir aplicación APK


   Pack expansión
     (hasta 4GB)

    Subir packs de
    mayor tamaño
Subir aplicación APK


   Compatibilidad

  Excluir dispositivos
Subir aplicación APK



     Productos
      “in-app”

  Niveles, añadidos...



    Suscripciones

    Pago mensual
     (streaming)
Estadísticas



   Estadísticas

Instalaciones activas
Estadísticas



   Estadísticas

Instalaciones diarias
Estadísticas



   Estadísticas

Instalaciones totales
Estadísticas



  Estadísticas

Exportar en formato
       CSV
Estadísticas



Detallado por...

  Versiones de
    Android
Estadísticas



Detallado por...

Dispositivo (móvil,
    tablet...)
Estadísticas



 Detallado por...

         País

(Ej: Orientado a España)
Estadísticas



Detallado por...

         País

(Ej: Orientación global)
Estadísticas



Detallado por...

    Idioma
Estadísticas



Detallado por...

Versión de la app
Estadísticas



Detallado por...

  Operadora
Estadísticas



Estadísticas de...

   - Tu propia app
- Categoría de tu app
- Top 10 de categoría
Comentarios y valoraciones



           Comentarios

          No siempre serán
               buenos

         (de hecho, serán malos)
Comentarios y valoraciones



           Comentarios

          No siempre serán
               buenos

         (de hecho, serán malos)
Comentarios y valoraciones



           Aportaciones

          - Media de votos
             - Proporción
           - Total de votos
Comentarios y valoraciones



           Aportaciones

           - Comentarios
            - Dispositivo
            - Versión app
                - Voto
Comentarios y valoraciones



           Aportaciones

           - Filtrar por voto
         - Filtrar por idioma
         - Filtrar por versión
Gestor de informes de errores



                Informes

                 Errores
              Traza del error
Gestor de informes de errores



               Informes

             Comentarios del
                usuario
Gestor de informes de errores



               Informes

             Comentarios del
                usuario
Gestor de informes de errores



               Informes

             Comentarios del
                usuario
Gestor de informes de errores



               Informes

             Comentarios del
                usuario
Gestor de informes de errores



               Informes

             Comentarios del
                usuario
Rentabilización
Rentabilizar app
Rentabilizar aplicación
Modelo de negocio




App de pago   App gratuita   App gratuita
                             + Publicidad




 Freemium     Demostración     Añadidos
Redes publicitarias
Redes publicitarias
Visita
                Registro
Programador     Compra     Anunciantes
                Descarga
   Ingresos




                      Ingresos




Usuario final                    Google
Tipo de publicidad
FONTIC: Introducción al desarrollo en Android

FONTIC: Introducción al desarrollo en Android