Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS...

22

Transcript of Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS...

Page 1: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un
Page 2: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un
Page 3: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

AprenderProgramar Android con 100 ejercicios prácticos

Page 4: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un
Page 5: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

AprenderProgramar Androidcon 100 ejercicios prácticos

Page 6: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

Aprender Programar Android con 100 ejercicios prácticos

© 2016 Angel Vázquez, Juan Antonio Gómez, Pablo Fernández de la Puente, Ramón Serrano

Primera edición, 2016

© 2016 MARCOMBO, S.A. www.marcombo.com

Diseño de la cubierta: ENEDENÚ DISEÑO GRÁFICO

«Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra sólo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a CEDRO (Centro Español de Derechos Reprográficos, www.cedro.org) si necesita fotocopiar o escanear algún fragmento de esta obra».

ISBN: 978-84-267-2405-2

D.L.: B-18946-2016

Impreso en Ulzama Digital, S.L.

Prined in Spain

Dedicatorias de los autores

Ángel: Dedico este libro a mis padres y a mis abuelos que me enseñaron el camino y me han dado todo. A Lucía, por ser como es y ser el equilibrio en todo mi desequilibrio. Gracias a mis compañeros de aventura Ramón, Juan y Pablo por esta divertida y enriquecedora experiencia.

Juanto: Dedico este libro a mi amiga y esposa Vito, a mi hijo Pablo, a mi madre y a mi hermana por ser mis seres favoritos y por ser mi verdadera fuente de alegría y de amor. También quisiera agradecer a mis amigos Víctor G. y Jordi B., todo el cariño que siguen mostrándome a lo largo de los años a pesar de todos los pesares. Y como no, a mis colegas de ‘aventuras móviles universitarias’ Pablo, Ángel y Ramón, sin los cuales este libro no hubiera sido posible. Os lo agradezco a todos.

Pablo: Dedico este libro a mi familia y amigos. Especialmente a mis padres por haberme dado todo en la vida y esperando se sientan aún más orgullosos con la publicación de este libro. A mi hermano Ignacio, quién me enseñó esto de la tecnología. A mi hermana María, por la motivación dada. Y por supuesto, no puedo olvidarme de mis amigos y compañeros en esta larga aventura y en otras anteriores, de Ramón, Juan y Ángel quienes me han ayudado y apoyado todo este tiempo.

Ramón: Dedico este libro a mis padres Carmen y Ramón, por procurarme una educación, ya que no hay mejor herencia que una buena formación. A mi novia Sara por ser tan especial para mi y mi principal apoyo, por enseñarme que sólo retándote a ti mismo podrás superarte. A mi hermana Mª Carmen por ser un segundo apoyo en mi vida. Y a mis amigos Juan, Ángel y Pablo, por todas esas tardes de Domingo, compartiendo anécdotas y una pasión, el desarrollo sobre dispositivos móviles.

Page 7: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

Presentación

APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS

Los 100 ejercicios prácticos que contiene este libro confor-man un recorrido por las principales características y funcionali-dades de Programar Android. Si bien es imposible recoger todas sus posibilidades, dado que éstas son prácticamente infinitas, hemos escogido las más interesantes y utilizadas.

Una vez realizados los 100 ejercicios que componen este manual, el lector será capaz de Programar Android con una apli-cación completa.

LA FORMA DE APRENDER

Nuestra experiencia en el ámbito de la enseñanza nos ha llevado a diseñar este tipo de manual, en el que cada una de las funciones se ejercita mediante la realización de un ejercicio práctico. Dicho ejercicio se halla explicado paso a paso y pulsa-ción a pulsación, a fin de no dejar ninguna duda en su proceso de ejecución. Además, lo hemos ilustrado con imágenes des-criptivas de los pasos más importantes o de los resultados que deberían obtenerse y con recuadros marcados como IMPORTAN-TE que ofrecen información complementaria sobre los temas tratados en los ejercicios. Gracias a este sistema se garantiza que una vez realizados los 100 ejercicios que componen el ma-nual, el usuario será capaz de desenvolverse cómodamente con Programar Android y sacar el máximo partido de sus múltiples apliaciones.

A QUIÉN VA DIRIGIDO EL MANUAL

Los dispositivos móviles han variado la manera de inte-ractuar con el mundo que nos rodea. El usuario quiere estar siempre conectado y pendiente de lo que sucede a su alrededor, utilizando tanto las últimas tendencias en tecnología como en-treteniéndose en su tiempo libre.

77

Page 8: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

88

Android es el principal sistema operativo del mercado, sien-do utilizado por la mayoría de los fabricantes en el desarrollo de sus productos. No compitiendo en software, los fabricantes pueden centrar sus esfuerzos en mejorar las funcionalidades del terminal, para diferenciarse del resto.

Es por ello que, en este libro, hemos seleccionado Android como el sistema operativo para elaborar los ejercicios. Hemos tratado de hacer un gran esfuerzo en sintetizar tema a tema los conceptos principales que se recomiendan conocer para empe-zar a programar con Android o incluso, para los ya iniciados, poder consultar ejemplos rápidamente que le permitan imple-mentar alguna de las funcionalidades clásicas de los dispositivos móviles de hoy en día.

Los ejemplos brevemente descritos, poseen su correspon-diente aplicación en la web que el lector podrá descargar para revisar completamente el código de las apps fabricadas expre-samente para este libro. Consideramos oportuno que el lector combine la explicación del ejercicio del libro, con el código de la aplicación, que a su vez contiene comentarios de ayuda.

En la realización de los ejercicios, hemos utilizando la ver-sión API 19: Android 4.4 (KitKat) como versión mínima para programar, debido a que hoy en día existen pocos dispositivos que utilicen versiones anteriores a KitKat. La mayoría de ejer-cicios funcionan también en versiones anteriores, así como en versiones posteriores.

Consideramos que este libro puede ser de gran interés para estudiantes de Android, profesionales o simplemente curiosos en la materia que quieran experimentar la sensación de fabricar una app y ejecutarla en su móvil de forma sencilla. El lector podrá iniciarse en el apasionante mundo de Android, realizando los ejercicios desde la base, evolucionando ejercicio a ejercicio, hasta alcanzar un nivel más avanzado en la materia, permitién-dole ser capaz de publicar en la Google Play su primera aplica-ción.

Por último puede descagar todos programas que acompañan este libro de la web de la Editorial Marcombo.

Page 9: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

Cómo funcionanlos libros “Aprender...”

Los recuadros Importante incluyen acciones que deben hacerse para asegurarse de que realiza el ejercicio correctamente y también contienen información que es interesante que aprenda porque le facilitará su trabajo con el programa.

En la parte inferior de todas las páginas puede seguir el ejercicio de forma gráfica y paso a paso. Los números de los pies de foto le remiten a entradas en el cuerpo de texto.

El título de cada ejercicio expresa sin

lugar a dudas en qué consiste éste. De esta forma, si

le interesa, puede acceder directamente a la acción que desea aprender o refrescar.

El número a la derecha de la página le indica claramente en qué ejercicio se encuentra en todo momento.

Los ejercicios se han escrito

sistemáticamente paso a paso, para

que nunca se pierda durante su

realización.

54 55

Aprender Programar Android con 100 ejercicios prácticos

Tipos de ActividadesUna Activity es aquel componente de aplicación que proporciona interfaz gráfica y lógica asociada a cada elemento con el que el usuario puede interactuar.

Actividades podrían ser aquellas pantallas que nos muestran un visor de mapas, la cámara, la pantalla para enviar un mail o la de marcado del teléfono para hacer una llamada.

Android Studio ofrece un asistente para añadir actividades y en esta serie de ejercicios veremos algunos tipos simplificando el có-digo para explicarlo en detalle.

1. En un proyecto si queremos añadir un tipo de actividad nuevo podremos hacerlo mediante la entrada de menú File > New > Activity > Gallery. Así accedemos a la galería de opciones que nos proporciona Android Studio. 1

2. Una vez en la galería 2 podemos ver las diferentes opciones. Seleccionaremos algunas de ellas y siguiendo los pasos del asistente Android Studio creará todo lo necesario en el proyec-to para empezar a trabajar.

3. La opción más básica sería la de una Empty Activity, en ella solo tenemos que cubrir el nombre de la clase java que se ocu-pará de la lógica y el del layout de la parte gráfica. 3

4. Con Blank Activity 4 tendremos algo más elaborado en el apartado gráfico. Seleccionamos un título y el layout generado

Informalmente podríamos decir que una Activity es cada una de las pantallas de una aplicación Android. Android Studio nos ofrece una galería para añadir nuevas actividades a una aplicación.

IMPORTANTE

021vendrá enriquecido elementos como un botón flotante. Po-dremos seleccionar una relación jerárquica de esta actividad con otra. Típicamente utilizada en la navegación de una lista de elementos hacia el detalle.

5. Otra de las opciones sería una actividad típica de autentica-ción como LoginActivity. Un layout básico con los campos editables usuario, password y un botón que desencadena la lógica de autenticación. 5

6. Elegiremos FullscreenActivity cuando queramos una inmer-sión del usuario en el contenido presentado sin más elementos que lo distraigan. Suele utilizarse en presentación de conteni-do multimedia al usuario. La barra de estado y herramientas se ocultan y solo vuelven a estar visibles cuando toque la pan-talla. 6

7. Master/Detail Flow crea todo lo necesario para un caso de uso muy habitual en el que se presenta una lista de elementos al usuario, selecciona uno y se muestra la información detalle del elemento seleccionado. Está pensando para la óptima vi-sualización independientemente de la orientación y tamaño del dispositivo. 7

8. Seleccionando la opción Settings Activity se crearán los recur-sos necesarios para las pantallas relacionadas con parámetros de configuración de nuestra aplicación modificables para el usuario. 8

1

2

3

4

5

6

7

8

99

Page 10: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

1010

001 Introducción ........................................................................ 14

002 Arquitectura de Android ...................................................... 16

003 Android Studio .................................................................... 18

004 Instalación ........................................................................... 20

005 SDK Manager ....................................................................... 22

006 AVD Manager ....................................................................... 24

007 Android Device Monitor ..................................................... 26

008 Debug ................................................................................... 28

009 Interfaz Android Studio ....................................................... 30

010 Adb ....................................................................................... 32

011 Ciclo de vida de un Activity ................................................ 34

012 Estructura aplicación Android ............................................. 36

013 Android manifest ................................................................. 38

014 Gradle Settings ..................................................................... 40

015 Permisos ............................................................................... 42

016 Creación Activity Android ................................................... 44

017 Intent Android ..................................................................... 46

018 Broadcast Receiver Android ................................................. 48

019 Content Provider Android ................................................... 50

020 Creación Service en Android ............................................... 52

021 Tipos de Actividades ............................................................ 54

022 Blank Activity ...................................................................... 56

023 Login Activity ...................................................................... 58

024 Master/Detail Activity .......................................................... 60

025 Fullscreen Activity ............................................................... 62

Índice

Page 11: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

026 Settings Activity ................................................................... 64

027 Tipos de layout .................................................................... 66

028 FrameLayout ........................................................................ 68

029 LinearLayout ........................................................................ 70

030 RelativeLayout ..................................................................... 72

031 TableLayout ......................................................................... 74

032 GridLayout ........................................................................... 76

033 Fragment .............................................................................. 78

034 Paleta de Componentes ....................................................... 80

035 Widgets (Componentes) ...................................................... 82

036 TextFields ............................................................................. 84

037 Containers ........................................................................... 86

038 Date & Time ......................................................................... 88

039 Expert ................................................................................... 90

040 Custom ................................................................................ 92

041 Action Bar ............................................................................ 94

042 Listas .................................................................................... 96

043 Adapters ............................................................................... 98

044 Diálogos ............................................................................. 100

045 Notifications ...................................................................... 102

046 AsyncTask .......................................................................... 104

047 Menús ................................................................................ 106

048 Menús Contextuales .......................................................... 108

049 Estilos ................................................................................. 110

050 Threads .............................................................................. 112

Índice

1111

Aprender Programar Android con 100 ejercicios prácticos

montse
Nota adhesiva
Unmarked definida por montse
Page 12: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

1212

051 Internacionalización .......................................................... 114

052 Widgets .............................................................................. 116

053 Preferencias de usuario ...................................................... 118

054 SQLite................................................................................. 120

055 Cursores ............................................................................. 122

056 Content Values .................................................................. 124

057 Content Provider ............................................................... 126

058 Content Provider Nativo ................................................... 128

059 Configuración Google Maps .............................................. 130

060 Google Maps. Localización ................................................ 132

061 Google Places Autocompletado de Sitios .......................... 134

062 Google Places Localización de sitios.................................. 136

063 Marcadores y Ventana de Información ............................. 138

064 Cámara y Tipos de Mapa ................................................... 140

065 Reproducir vídeo ............................................................... 142

066 Reproducir audio ............................................................... 144

067 Grabar audio ...................................................................... 146

068 Capturar foto ..................................................................... 148

069 Custom Views 1 ................................................................. 150

070 Custom Views 2 ................................................................. 152

071 Custom Views 3 ................................................................. 154

072 Animaciones Vistas ............................................................ 156

073 Animaciones Propiedades .................................................. 158

074 Temas y Estilos ................................................................... 160

075 Toolbar ............................................................................... 162

Índice

Page 13: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

1313

076 Menú en Toolbar y SnackBar ............................................. 164

077 Tabs con ViewPager ........................................................... 166

078 Navigation Drawer ............................................................. 168

079 Eventos del Navigation Drawer ......................................... 170

080 CardView ........................................................................... 172

081 Caché LRU para Imágenes ................................................. 174

082 RecyclerView ...................................................................... 176

083 RecyclerView Selector Material Design .............................. 178

084 Floating Action Button y RecyclerView CRUD .................... 180

085 RecyclerView Animation Material Design ......................... 182

086 CollapsingToolbarLayout y NestedScrollView ................. 184

087 Telefonía y Conectividad ................................................... 186

088 Mensajería SMS .................................................................. 188

089 Sensores del dispositivo móvil .......................................... 190

090 SensorEvents ...................................................................... 192

091 Sensor Acelerómetro .......................................................... 194

092 Sensor Aceleración Linear .................................................. 196

093 Sensor Campo Magnético .................................................. 198

094 Lectura NFC ....................................................................... 200

095 Escritura NFC ..................................................................... 202

096 Notificaciones Push ........................................................... 204

097 Registro y Recepción de Token .......................................... 206

098 Envío y Recepción de Notificaciones ................................ 208

099 AdMob ............................................................................... 210

100 Google Play ........................................................................ 212

Índice

Aprender Programar Android con 100 ejercicios prácticos

Page 14: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

14

IntroducciónAndroid es una plataforma software y un sistema operativo basa-do en Linux que está orientado al desarrollo de aplicaciones para teléfonos móviles. No obstante hoy en día, puede encontrarse en multitud de dispositivos móviles tales como relojes, televisiones, automóviles, etc…

1. El hecho de estar basado en el kernel de Linux permite la ges-tión de recursos de los dispositivos tales como los controlado-res de pantalla, sensores, cámara, etc…

2. La programación se realiza a través de un framework (o en-torno de trabajo) de Java y se apoya en una máquina virtualdenominada Dalvik la cual es una variación de la máquinavirtual de Java cuya compilación se realiza en tiempo de eje-cución.

3. El primer embrión del proyecto nació en octubre del 2003 dela mano de su creador Andy Rubin y otros colegas (Rich Mi-ner, Nick Sears y Chris White) los cuales formaron la compa-ñía Android Inc. que más tarde, en el 2005, fue adquirida porGoogle lanzando el S.O. para móviles que finalmente se deno-minaría Android. Concretamente, el 5 de noviembre de 2007,coincidiendo con la creación de la alianza comercial denomi-nada OHA (Open Handset Alliance) inicialmente compuestapor 35 componentes y liderada por Google se lanzó la plata-forma de código abierto que hoy conocemos por Android.

4. Google, gracias al software de Apache es quien ha publicadogran parte del código fuente del sistema operativo.

5. El logo que identifica a Android se llama Andy, y es lo queconocemos como el robot de Android. 1

6. El primer modelo que mostró su funcionamiento fue el G1 deHTC en octubre del 2008 con la versión 1.0 de Android.

7. Desde entonces hasta la fecha, han surgido diferentes versio-nes de Android cada una de las cuales ha ido dotando de ma-yor funcionalidad a los diferentes desarrollos aprovechandotambién, que los dispositivos móviles han ido mejorando susprestaciones hardware de manera vertiginosa.

Android es el sistema operativo más utilizado en el mundo y posee más del 80% del mercado seguido de iOS y Windows Phone.

IMPORTANTE

1

3

4

Page 15: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

15

Aprender Programar Android con 100 ejercicios prácticos

001Versiones de Android

Una de las peculiaridades de las versiones de Android es que, ade-más de tener nombres de postres en Inglés, dichos nombres van usando las letras del alfabeto de forma que cada versión utiliza la siguiente letra del alfabeto incrementando cada vez una. Es decir, empieza con la A, continúa con la B, C y así sucesivamente.

Las versiones existentes son las que se muestran en la tabla.

Las principales características a destacar son las siguientes:

• Se adapta a diferentes pantallas 2

• Navegador incluido soporta HTML5 3

• Soporta mensajes SMS y MMS• Posee emulador para realizar desarrollo• Soporte para pantallas multitáctil• Realiza la conectividad mediante 3G, 4G, Bluetooth, 4

WIFI. 5

• Es multitarea

Entre las ventajas de Android podemos comentar las siguientes:

• Codigo abierto y por tanto facilidad para adaptarse a multi-tud de dispositivos además de los teléfonos móviles.

• Facilidad para instalar aplicaciones.• Sistemas multitarea.• Amplia comunidad de desarrolladores.• Gama de aplicaciones muy extensa.• Google Maps proporciona un GPS gratuito.

Como desventajas, mencionaremos las siguientes:

• El ser multitarea el consumo de batería esimportante.

• Es posible que las aplicaciones queden abier-tas.

2

Versión Nombre Fecha aparición

1.0 Apple Pie septiembre 2008.

1.1 Banana Bread febrero 2009.

1.5 Cup Cake abril 2009

1.6 Donut septiembre 2009

2.0 Eclair octubre 2009

2.2 Froyo mayo 2010

2.3 Gingerbread diciembre 2010

3.0 Honeycomb febrero 2011

4 .0 Ice Cream Sandwich octubre 2011

4.1 Jelly Bean julio 2012

4.4 KitKat octubre 2013

5.0 Lollipop Noviembre 2014

6.0 Marshmallow Octubre 2015

7.0 Nougat 2016

5

Puede descargar todos los programas que acompañan este libro, de la página webde Editorial Marcombo.

IMPORTANTE

Page 16: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

16

Arquitectura de Android

Android está compuesto por una pila de software que contiene el sistema operativo, un middleware y las aplicaciones básicas para el usuario. Concretamente, las capas que lo componen son las que aparecen en la figura 1.

Cada una de las capas posee el siguiente cometido:

1. Aplicaciones: se refiere tanto a las aplicaciones incluidas pordefecto por Android como a las desarrolladas por el propiousuario o por terceros.

2. Framework de Aplicaciones: conjunto de herramientasusadas para el desarrollo de aplicaciones tales como:

• Activity Manager: gestiona el ciclo de vida de las aplicacio-nes en Android. 1

• Window Manager: gestiona las ventanas de las aplicaciones.• Content Provider: permite el acceso a datos de otras aplica-

ciones (p.e. contactos).• View System: proporciona elementos para la fabricación de

interfaces (botones, listas, check-box, etc.).• Notification Manager: gestiona la visualización de alertas

personalizadas en la barra de estado.• Package Manager: proporciona información sobre los pa-

quetes instalados y gestiona la instalación de los nuevos.• Location Manager: gestiona el acceso a la información so-

bre posicionamiento y localización.

No olvide que el núcleo de Android está basado en Linux 2.6 y que cualquier dispositivo o componente que tengaque ser manejado por el dispositivo requerirá por parte del fabricante, la creación de los drivers o librerías para su tratamiento dentro del propio kernel de Linux.

IMPORTANTE

Figura 1• Telephone Manager: gestiona las fun-

cionalidades asociadas al teléfono ta-les como llamadas y SMSs.

• Resource Manager: gestiona los ele-mentos de la aplicación que no sehallan en el código (p.e. cadenas detexto, imágenes, sonidos, etc.).

Page 17: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

17

Aprender Programar Android con 100 ejercicios prácticos

002• XMPP Manager: gestiona el intercambio de mensajes basa-

dos en XML.

3. Librerías: librerías desarrolladas en C/C++ que aportan la mayor parte de las capacidades a la plataforma. Algunas de dichas librerías son:

• Surface Manager: gestiona el acceso de la representación gráfica en 2D y 3D.

• Media Framework: gestiona multitud de formatos de audio, video e imágenes.

• SQLite: motor de base de datos poco pesado y potente.• OpenGL/SL y SGL: utilizan el acelerador harware 3D y el

motor de gráficos 2D.• FreeType: renderizado vectorial manejo de los distintos ti-

pos de fuentes.• WebKit: soporta un navegador Web y es la librería que utili-

za Google Chrome y Safari.• SSL: se encarga de proporcionar servicios de encriptación

(Security Socket Layer).• libc: derivada de la librería BSD de C

estándar.

4. Runtime: Utiliza la máquina virtual Dalvik y las Core Libraries (librerías Java). Dalvik se fabricó para correr con poca memoria y un procesador limitado. Eje-cuta ficheros .dex (Dalvik ejecutables).

5. Núcleo Linux: capa de abstracción en-tre el hardware y el resto de capas que contiene los drivers que permiten la lla-mada a los componentes hardware exis-tentes en el dispositivo móvil. Asimis-mo, esta capa proporciona servicios tales como el multiproceso, la pila de protoco-los, el manejo de memoria, etc.

1

Page 18: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

18

Android Studio

Android Studio es el IDE oficial de Android y es la herramienta que cubre mejor las necesidades de los desarrolladores. Además posee un mejor rendimiento y es más rápido que Eclipse.

IMPORTANTEAndroid Studio 1 es la plataforma que Google ofrece gratuita-mente para realizar los desarrollos de Android. Anteriormente, se utilizaba Eclipse como IDE para dichos desarrollos. En la actua-lidad, Android Studio está disponible para Microsoft Win-dows, Mac OS X y GNU/Linux. Fue presentado por Google en mayo del 2013 pero no fue recomendado como IDE de desarrollo hasta diciembre del 2014, momento en que se liberó la versión de Android Studio 1.0.

Se basa en IntelliJ IDEA (de JetBrains) y requiere de JDK 6 o superior para su instalación.

Algunas de sus características principales son:

• Posee un soporte para construcción basado en Gradle (he-rramienta que permite automatizar la construcción de pro-yectos realizando tareas de compilación, test, empaquetado y despliegue de los mismos).

• Permite renderizado en tiempo real de layouts.• Permite realizar pre-visualizaciones en múltiples configura-

ciones de pantalla.• Posee una consola de desarrollador con ayuda para la tra-

ducción.• Permite la refactorización de código Android.• Permite firmar APKs y gestiona el almacenamiento de cla-

ves.

1 2

Page 19: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

19

Aprender Programar Android con 100 ejercicios prácticos

003• Permite realizar Imports automáticos.• Aporta plantillas para desarrollos comunes• Ayuda al desarrollo de aplicaciones para Androir Wear

(sistema operativo para dispositivos corporales).• Está basado en Maven y facilita la gestión de dependencias.• Mejora la reutilización de código y recursos.• Posee soporte para Google Cloud Platform.• Es multiplataforma.• Posibilita el control de versiones (mediante Git, Github,

Subversion, etc)

Como interfaz de desarrollo, proporciona al desarrollador una es-pecie de escritorio de trabajo desde el que poder controlar uno o varios proyectos y todo su contenido además de previsualizar una misma aplicación en diferentes dispositivos para constatar fácilmente como se vería si necesidad de programar nada especial-mente para realizar esta acción.

Al arrancar Android Studio, 2 se muestra una ventana con una serie de opciones 3 entre las que podremos ejecutar alguna de las siguientes acciones:

• Arrancar un nuevo proyecto.• Abrir un proyecto existente.• Descargar un proyecto de un control de versiones.• Importar un proyecto• Importar un código de ejemplo• Configurar Android Studio• Consultar la documentación

La opción de Importar proyecto (Eclip-se ADT, Gradle, etc…) es útil para po-der importar proyectos realizados con Eclipse y adaptarlos a Android Studio.

Utiliza herramientas Lint gracias a las cuales es posible detectar problemas de rendimiento y compatibilidad entre ver-siones.

3

Page 20: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

20

InstalaciónLa instalación de Android Studio es realmente simple. En pri-mer lugar, hemos de instalar el compilador de Java y seguidamen-te Android Studio.

Podemos descargar el compilador de Java y su máquina virtual del siguiente link:

http://www.oracle.com/technetwork/es/java/javase/downloads/index.html

Una vez instalado Java, descargaremos Android Studio del si-guiente link:

http://developer.android.com/intl/es/sdk/index.html

Para iniciar la descarga, simplemente hemos de pulsar sobre la op-ción ‘DOWNLOAD ANDROID STUDIO’. 1 El ejecutable que descargaremos ocupa entre 1 y 1,2 Gb aunque durante el proceso de instalación, se solicitará unos 4,5 Gb de espacio disponible.

A continuación describimos las pantallas que aparecen durante el proceso de instalación.

1. Una vez finalizada la descarga, localizaremos el exe descar-gado (si no indicamos lo contrario, se deposita en la carpeta Descargas) y ejecutaremos el mismo (p.e. con doble clic).

2. Seguidamente, observaremos una ventanita en la que se mues-tra la verificación del instalador. 2

3. Una vez finalizada la verificación, se muestra el Setup me-diante el que se instalará Android Studio. 3 En este punto, pulsaremos sobre el botón Next.

4. A continuación se muestra una pantalla en la que pode-mos seleccionar los componentes que deseamos instalar. 4 Por defecto, los seleccionaremos todos aunque la opción de Intel(R) Hardware Accelerated Execution Manager (HAXM) sólo tiene sentido si utilizamos procesadores Intel. Pulsaremos sobre Next.

5. Sobre la ventana de acuerdo de licencia, también pulsaremos Next.

Observará que la instalación es realmente sencilla y que bastará con ir aceptando mediante Next cada una de las pantallas que se vayan proponiendo.

IMPORTANTE

1

2

3

Page 21: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

21

Aprender Programar Android con 100 ejercicios prácticos

0046. Seguidamente, se proponen las ubicaciones donde instalar

Android Studio y donde instalar el SDK. Pulsaremos Next.

7. En la siguiente pantalla se propone la máxima cantidad de RAM disponible para HAXM. Aceptaremos el valor por defec-to y pulsaremos Next.

8. En la ventana donde se propone la carpeta sobre la que crear los programas que se ven a instalar, aceptaremos el valor por defecto ‘Android Studio’. Pulsaremos sobre Next.

9. En este momento, empieza la instalación.

10. Una vez finalizada, se muestra la pantalla de Instalación Complete y se invita a pulsar Next.

11. Finalmente, se muestra la pantalla en la que se indica que la instalación ha sido completada 5 y desde la que podemos arrancar Android Studio si dejamos marcada la opción Start Android Studio.

12. Al pulsar Finish, si hemos dejado marcada la opción de arran-car Android Studio, efectivamente se arrancará y se mos-trará una pantalla en la que se nos invitará a importar alguna posible configuración anterior (en caso de que hubiésemos instalado alguna versión previamente) o bien, a instalar una nueva configuración. 6

13. A partir de ese momento, se inicia la descarga de componen-tes. Cuando haya finalizado dicha descarga, aparecerá un log con los componentes que se han instalado y se esperará hasta que pulsemos sobre el botón Finish.

14. Por último, se mostrará el asistente de Android Studio des-de el que podremos crear nuevos proyectos y realizar otras acciones. 7

4 5

6

7

Page 22: Startseite - Aprender · 2020-04-21 · Presentación APRENDER PROGRAMAR ANDROID CON 100 EJERCICIOS PRÁCTICOS Los 100 ejercicios prácticos que contiene este libro confor-man un

22

SDK ManagerEl SDK Manager, es la herramienta mediante la cual podremos instalar, actualizar o desinstalar los componentes que necesitemos en nuestro SDK.

Podemos acceder al mismo desde el asistente de Android Stu-dio a través de la opción Configure-> SDK Manager 1 o des-de el IDE a través del menú Tools->Android->SDK Manager. También podemos hacerlo desde la barra de iconos que posee el logo clásico de Android con una flecha haca abajo.

Pulsaremos sobre la opción Launch Standalone SDK Mana-ger 2 para acceder a la ventana desde la que seleccionar los com-ponentes a instalar o desinstalar. 3

Principalmente destacamos los siguientes:

• Tools.• Platform-tools.• Google Repository.• Google Play Services.• Diferentes versiones: Android xxx: Componentes necesa-

rios para compilar las aplicaciones en diferentes versiones.

Es posible configurar SDK Manager para que compruebe au-tomáticamente si existen nuevas versiones accediendo a File > Settings > Appearance & Behavior > System Settings > Updates. 4

A la derecha de cada uno de los paquetes mostrados existe un Sta-tus que nos indica si el paquete está instalado ( ) o no ( ).

Para instalar un paquete, marcaremos la casilla de verificación que se halle a su izquierda o bien el agrupador superior que lo englo-ba. 5 Cada una de las versiones que podemos descargarnos, agru-

Instale los paquetes que vaya a utilizar y actualice periódicamente (si no ha decidido hacerlo automáticamente) el entorno de desarrollo para obtener las últimas mejoras que se vayan realizando sobre el mismo.

IMPORTANTE

1

2

3

4