Introducción a Android
                                   Betabeers Cádiz


                               Cayetano Soriano Gallego



                                  13 de julio de 2012




Cayetano Soriano Gallego ()          Introducción a Android   13 de julio de 2012   1 / 31
Índice

1    Introducción

2    Fragmentación

3    SDK y NDK

4    Android Development Tool (ADT eclipse)

5    Estructura de un proyecto

6    Distribución Aplicaciones (Market)

7    Seguridad

8    Tips


    Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   2 / 31
Introducción

                                         Es un sistema operativo basado en
                                         linux.
                                         Fue comprado por google en 2005.
                                         Primera versión en 2008.
                                         Esta desarrollado principalmente
                                         por Google.
                                         Usa lenguaje de programación
                                         JAVA.
                                         Gran penetración en el mercado.
                                         Gama amplia de terminales de
                                         distinta gama.
                                         Gran comunidad.
                                         Actualizaciones muy frecuentes.

  Cayetano Soriano Gallego ()   Introducción a Android      13 de julio de 2012   3 / 31
Arquitectura Android




  Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   4 / 31
archivo APK




    Es un falso zip.
    Contiene el Android Manifest.
    Contiene los recursos.
    Contiene archivos .dex (conversión de .class a bytecode de la
    máquina dalvik)




 Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   5 / 31
Crecimiento de Android




    900.000 activaciones diarias
    Se preveé más crecimiento
    Se empieza a utilizar en:
            Coches
            Relojes
            Herramientas médicas
            ...




 Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   6 / 31
Índice

1    Introducción

2    Fragmentación

3    SDK y NDK

4    Android Development Tool (ADT eclipse)

5    Estructura de un proyecto

6    Distribución Aplicaciones (Market)

7    Seguridad

8    Tips


    Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   7 / 31
Fragmentación en Android




                         Figura: Fragmentación versiones Android


 Cayetano Soriano Gallego ()          Introducción a Android       13 de julio de 2012   8 / 31
Fragmentación en Android




                      Figura: Fragmentación resoluciones Android




 Cayetano Soriano Gallego ()        Introducción a Android     13 de julio de 2012   9 / 31
Motivos fragmentación




                                                   Fabricantes.
                                                   Operadoras.
                                                   Usuarios.
                                                   Requisitos del terminal.




 Cayetano Soriano Gallego ()   Introducción a Android             13 de julio de 2012   10 / 31
Índice

1    Introducción

2    Fragmentación

3    SDK y NDK

4    Android Development Tool (ADT eclipse)

5    Estructura de un proyecto

6    Distribución Aplicaciones (Market)

7    Seguridad

8    Tips


    Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   11 / 31
kit de desarrollo de software (SDK)




                                                    Gratuito
                                                    Multiplataforma
                                                    Aporta Máquina virtual
                                                    Compilador
                                                    Debuger
                                                    ...




  Cayetano Soriano Gallego ()   Introducción a Android           13 de julio de 2012   12 / 31
NDK




                                                   Permite programar en C/C++.
                                                   Para realizar optimizaciones
                                                   de código.
                                                   Incluir librerias en C/C++




 Cayetano Soriano Gallego ()   Introducción a Android            13 de julio de 2012   13 / 31
Índice

1    Introducción

2    Fragmentación

3    SDK y NDK

4    Android Development Tool (ADT eclipse)

5    Estructura de un proyecto

6    Distribución Aplicaciones (Market)

7    Seguridad

8    Tips


    Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   14 / 31
Android Development Tool (ADT eclipse)




    Te permite empezar nuevos proyectos Android, rapidamente.
    Te ayuda en la UI de la app.
    Te integra el debugger del SDK
    Te permite exportar, firmado ó sin firmar los archivos apk




 Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   15 / 31
Índice

1    Introducción

2    Fragmentación

3    SDK y NDK

4    Android Development Tool (ADT eclipse)

5    Estructura de un proyecto

6    Distribución Aplicaciones (Market)

7    Seguridad

8    Tips


    Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   16 / 31
Estructura proyecto I




  Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   17 / 31
Estructura proyecto II




  Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   18 / 31
Estructura proyecto III




  Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   19 / 31
Estructura proyecto IV




  Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   20 / 31
Estructura proyecto V




  Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   21 / 31
Índice

1    Introducción

2    Fragmentación

3    SDK y NDK

4    Android Development Tool (ADT eclipse)

5    Estructura de un proyecto

6    Distribución Aplicaciones (Market)

7    Seguridad

8    Tips


    Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   22 / 31
Google Play




                                        Tienda oficial de Google.
                                        Da seguridad y confianza.
                                        Permite subir varios .apk, para las
                                        distintas versiones.
                                        Requiere de un pago único de 25
                                        dólares.
                                        Te facilita el marketing.




 Cayetano Soriano Gallego ()   Introducción a Android        13 de julio de 2012   23 / 31
Amazon APP store


                                        Tienda de aplicaciones android de
                                        amazon.
                                        Por ahora solo disponsible en
                                        EEUU.
                                        El precio de la app, la ponen ellos
                                        según estudio de mercado.
                                        El precio que pongas a tu app, es
                                        solo una sugerencía.
                                        Eligen una app, diaria gratuita.
                                        Te facilita el marketing.




 Cayetano Soriano Gallego ()   Introducción a Android        13 de julio de 2012   24 / 31
Índice

1    Introducción

2    Fragmentación

3    SDK y NDK

4    Android Development Tool (ADT eclipse)

5    Estructura de un proyecto

6    Distribución Aplicaciones (Market)

7    Seguridad

8    Tips


    Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   25 / 31
Seguridad



    Android es el sistema operativo más usado.
    Los creadores de malware siempre apuntan donde pueden sacar
    más beneficios.
    La Play Store, no realizaba hasta hace poco ninguna
    comprobación, se publicaban directamente.
    Las medidas puestas por google, siguen siendo insuficientes
    (bounce).
    Permisos, son aceptados sin leer.




 Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   26 / 31
Índice

1    Introducción

2    Fragmentación

3    SDK y NDK

4    Android Development Tool (ADT eclipse)

5    Estructura de un proyecto

6    Distribución Aplicaciones (Market)

7    Seguridad

8    Tips


    Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   27 / 31
¿Aumentar la rapidez del emulador de android?




                                          El emulador de Android es lento.
                                          Es una lata trabajar con él.




                                 ¿Solución?
                               Android-x86


 Cayetano Soriano Gallego ()     Introducción a Android       13 de julio de 2012   28 / 31
¿Qué es Android-x86?




    Es un port a la arquitectura x86 de android
    Se puede usar en pc’s que soporten esta arquitectura
    Se puede usar en una máquina virtual
    bit.ly/rds9DG




 Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   29 / 31
Proguard




    Está incluido en el SDK.
    Ofuscación de código fuente.




 Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   30 / 31
Referencias I




    Dalvik Executable Format.
    http://www.netmite.com/android/mydroid/dalvik/docs/dex-
    format.html
    Android Developers.
    http://developer.android.com/
    Vogella
    http://www.vogella.com/articles/Android/article.html




  Cayetano Soriano Gallego ()   Introducción a Android   13 de julio de 2012   31 / 31

Introducción a Android

  • 1.
    Introducción a Android Betabeers Cádiz Cayetano Soriano Gallego 13 de julio de 2012 Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 1 / 31
  • 2.
    Índice 1 Introducción 2 Fragmentación 3 SDK y NDK 4 Android Development Tool (ADT eclipse) 5 Estructura de un proyecto 6 Distribución Aplicaciones (Market) 7 Seguridad 8 Tips Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 2 / 31
  • 3.
    Introducción Es un sistema operativo basado en linux. Fue comprado por google en 2005. Primera versión en 2008. Esta desarrollado principalmente por Google. Usa lenguaje de programación JAVA. Gran penetración en el mercado. Gama amplia de terminales de distinta gama. Gran comunidad. Actualizaciones muy frecuentes. Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 3 / 31
  • 4.
    Arquitectura Android Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 4 / 31
  • 5.
    archivo APK Es un falso zip. Contiene el Android Manifest. Contiene los recursos. Contiene archivos .dex (conversión de .class a bytecode de la máquina dalvik) Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 5 / 31
  • 6.
    Crecimiento de Android 900.000 activaciones diarias Se preveé más crecimiento Se empieza a utilizar en: Coches Relojes Herramientas médicas ... Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 6 / 31
  • 7.
    Índice 1 Introducción 2 Fragmentación 3 SDK y NDK 4 Android Development Tool (ADT eclipse) 5 Estructura de un proyecto 6 Distribución Aplicaciones (Market) 7 Seguridad 8 Tips Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 7 / 31
  • 8.
    Fragmentación en Android Figura: Fragmentación versiones Android Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 8 / 31
  • 9.
    Fragmentación en Android Figura: Fragmentación resoluciones Android Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 9 / 31
  • 10.
    Motivos fragmentación Fabricantes. Operadoras. Usuarios. Requisitos del terminal. Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 10 / 31
  • 11.
    Índice 1 Introducción 2 Fragmentación 3 SDK y NDK 4 Android Development Tool (ADT eclipse) 5 Estructura de un proyecto 6 Distribución Aplicaciones (Market) 7 Seguridad 8 Tips Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 11 / 31
  • 12.
    kit de desarrollode software (SDK) Gratuito Multiplataforma Aporta Máquina virtual Compilador Debuger ... Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 12 / 31
  • 13.
    NDK Permite programar en C/C++. Para realizar optimizaciones de código. Incluir librerias en C/C++ Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 13 / 31
  • 14.
    Índice 1 Introducción 2 Fragmentación 3 SDK y NDK 4 Android Development Tool (ADT eclipse) 5 Estructura de un proyecto 6 Distribución Aplicaciones (Market) 7 Seguridad 8 Tips Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 14 / 31
  • 15.
    Android Development Tool(ADT eclipse) Te permite empezar nuevos proyectos Android, rapidamente. Te ayuda en la UI de la app. Te integra el debugger del SDK Te permite exportar, firmado ó sin firmar los archivos apk Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 15 / 31
  • 16.
    Índice 1 Introducción 2 Fragmentación 3 SDK y NDK 4 Android Development Tool (ADT eclipse) 5 Estructura de un proyecto 6 Distribución Aplicaciones (Market) 7 Seguridad 8 Tips Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 16 / 31
  • 17.
    Estructura proyecto I Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 17 / 31
  • 18.
    Estructura proyecto II Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 18 / 31
  • 19.
    Estructura proyecto III Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 19 / 31
  • 20.
    Estructura proyecto IV Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 20 / 31
  • 21.
    Estructura proyecto V Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 21 / 31
  • 22.
    Índice 1 Introducción 2 Fragmentación 3 SDK y NDK 4 Android Development Tool (ADT eclipse) 5 Estructura de un proyecto 6 Distribución Aplicaciones (Market) 7 Seguridad 8 Tips Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 22 / 31
  • 23.
    Google Play Tienda oficial de Google. Da seguridad y confianza. Permite subir varios .apk, para las distintas versiones. Requiere de un pago único de 25 dólares. Te facilita el marketing. Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 23 / 31
  • 24.
    Amazon APP store Tienda de aplicaciones android de amazon. Por ahora solo disponsible en EEUU. El precio de la app, la ponen ellos según estudio de mercado. El precio que pongas a tu app, es solo una sugerencía. Eligen una app, diaria gratuita. Te facilita el marketing. Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 24 / 31
  • 25.
    Índice 1 Introducción 2 Fragmentación 3 SDK y NDK 4 Android Development Tool (ADT eclipse) 5 Estructura de un proyecto 6 Distribución Aplicaciones (Market) 7 Seguridad 8 Tips Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 25 / 31
  • 26.
    Seguridad Android es el sistema operativo más usado. Los creadores de malware siempre apuntan donde pueden sacar más beneficios. La Play Store, no realizaba hasta hace poco ninguna comprobación, se publicaban directamente. Las medidas puestas por google, siguen siendo insuficientes (bounce). Permisos, son aceptados sin leer. Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 26 / 31
  • 27.
    Índice 1 Introducción 2 Fragmentación 3 SDK y NDK 4 Android Development Tool (ADT eclipse) 5 Estructura de un proyecto 6 Distribución Aplicaciones (Market) 7 Seguridad 8 Tips Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 27 / 31
  • 28.
    ¿Aumentar la rapidezdel emulador de android? El emulador de Android es lento. Es una lata trabajar con él. ¿Solución? Android-x86 Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 28 / 31
  • 29.
    ¿Qué es Android-x86? Es un port a la arquitectura x86 de android Se puede usar en pc’s que soporten esta arquitectura Se puede usar en una máquina virtual bit.ly/rds9DG Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 29 / 31
  • 30.
    Proguard Está incluido en el SDK. Ofuscación de código fuente. Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 30 / 31
  • 31.
    Referencias I Dalvik Executable Format. http://www.netmite.com/android/mydroid/dalvik/docs/dex- format.html Android Developers. http://developer.android.com/ Vogella http://www.vogella.com/articles/Android/article.html Cayetano Soriano Gallego () Introducción a Android 13 de julio de 2012 31 / 31