Saltar al contenido principal

El Gran Libro de Android. 4ª Ed.

Actualizado a la Versión Kitkat y Android L. Preview

Jesús Tomás

Android es la plataforma libre para el desarrollo de aplicaciones móviles creada por Google. En la actualidad se ha convertido en la plataforma líder frente a otras como iPhone o Windows Phone. Las aplicaciones Android están ampliando su rango de influencia a nuevos dispositivos, tales como tabletas, sistemas empotrados, Google Glass o Wearable. Este libro pretende ser una guía...

Editorial:
Marcombo
Año de edición:
2014
Materia:
Informática
ISBN:
978-84-267-2167-9
Páginas:
566
Encuadernación:
Rústica
Colección:
EL GRAN LIBRO DE
-5%
28,12 €
IVA incluido
29,60 €
No disponible

Android es la plataforma libre para el desarrollo de aplicaciones móviles creada por Google. En la actualidad se ha convertido en la plataforma líder frente a otras como iPhone o Windows Phone. Las aplicaciones Android están ampliando su rango de influencia a nuevos dispositivos, tales como tabletas, sistemas empotrados, Google Glass o Wearable. Este libro pretende ser una guía para aquellos lectores que quieran introducirse en la programación en Android. Todos los capítulos son descritos por medio de sencillos ejemplos, aumentando su nivel de complejidad a medida que avanzan los capítulos. La obra está recomendada tanto para usuarios con poca experiencia como para programadores experimentados. A lo largo del libro se desarrollan dos aplicaciones de ejemplo: el mítico videojuego Asteroides y una aplicación de gestión de información personal, Mis Lugares*. Se comienza con una versión sencilla, que se irá completando capítulo a capítulo, para que incluya: fragmentos*, gráficos vectoriales y en mapa de bits, control mediante pantalla táctil y sensores, hilos con AsyncTask*, notificaciones, geo-localización*, mapas, multimedia, ficheros, XML, SQL, acceso a Internet, servicios Web, acceso a bases de datos en servidor PHP + MySQL* Así cómo publicar en Google Play y añadir anuncios*. El libro propone un aprendizaje activo, con actividades, muchas a través de Internet: Vídeo[Tutorial]: Más de 80 videos elaborados por el autor. Ejercicio paso a paso: La mejor forma de aprender es practicando. Práctica: Para afianzar lo aprendido hay que practicar. Solución: Le será de ayuda si tiene problemas en las prácticas. Recursos adicionales: Localice rápidamente la información clave Preguntas de repaso y reflexión: ¿Se ha entendido todo correctamente? Jesús Tomás es doctor en informática, profesor titular del Departamento de Comunicaciones en la Universidad Politécnica de Valencia. Trabaja en múltiples proyectos de investigación y transferencia de tecnología relacionados con inteligencia artificial. Ha publicado gran cantidad de trabajos en revistas científicas y varios libros didácticos sobre nuevas tecnologías. Tiene una amplia experiencia impartiendo cursos de formación para empresas. *Novedades de esta edición

Reseña del Editor

Lista de acrónimos ................................................................................................. xv
¿Cómo leer este libro? ........................................................................................ xvii
CAPÍTULO 1. Visión general y entorno de desarrollo ...................................... 21
1.1. ¿Qué hace Android especial? ................................................................... 22
1.2. Los orígenes .............................................................................................. 23
1.3. Comparativa con otras plataformas .......................................................... 24
1.4. Arquitectura de Android............................................................................. 27
1.4.1. El núcleo Linux .................................................................................... 27
1.4.2. Runtime de Android ............................................................................ 27
1.4.3. Librerías nativas .................................................................................. 28
1.4.4. Entorno de aplicación .......................................................................... 28
1.4.5. Aplicaciones ........................................................................................ 29
1.5. Instalación del entorno de desarrollo ........................................................ 30
1.5.1. Instalación de la máquina virtual Java ................................................ 30
1.5.2. Instalación de ADT Bundle.................................................................. 30
1.5.3. Instalación de Android Studio ............................................................. 33
1.5.4. Instalación de los componentes por separado ................................... 33
1.5.5. Creación de un dispositivo virtual Android (AVD) ............................... 34
1.6. Las versiones de Android y niveles de API ............................................... 38
1.6.1. Las primeras versiones ....................................................................... 38
1.6.2. Cupcake .............................................................................................. 39
1.6.3. Donut ................................................................................................... 39
1.6.4. Éclair ................................................................................................... 39
1.6.5. Froyo ................................................................................................... 40
1.6.6. Gingerbread ........................................................................................ 40
1.6.7. Honeycomb ......................................................................................... 41
1.6.8. Ice Cream Sandwich ........................................................................... 42
1.6.9. Jelly Bean ............................................................................................ 43
1.6.10. KitKat ................................................................................................... 44
Android 4.4 Nivel de API 19 (octubre 2013) ................................................... 44
1.6.11. Elección de la plataforma de desarrollo .............................................. 44
1.7. Creación de un primer programa .............................................................. 46
1.8. Ejecución del programa............................................................................. 51
1.8.1. Ejecución en el emulador .................................................................... 51
1.8.2. Ejecución en un terminal real .............................................................. 51
1.9. Ficheros y carpetas de un proyecto Android ............................................ 53
1.10. Componentes de una aplicación ............................................................... 55
1.10.1. Vista (View) ......................................................................................... 55
1.10.2. Layout .................................................................................................. 56
1.10.3. Actividad (Activity) ............................................................................... 56
1.10.4. Servicio (Service) ................................................................................ 56
1.10.5. Intención (Intent) ................................................................................. 56
1.10.6. Fragment ............................................................................................. 56
1.10.7. Proveedores de Contenido (Content Provider) ................................... 57
1.11. Documentación y ApiDemos ..................................................................... 58
1.11.1. Donde encontrar documentación ........................................................ 58
1.11.2. La aplicación ApiDemos ...................................................................... 58
1.12. Depurar ..................................................................................................... 61
1.12.1. Depurar con Eclipse ............................................................................ 61
1.12.2. Depurar con mensajes Log ................................................................. 62
1.13. Repaso Java y la aplicación Mis Lugares ................................................. 63
1.13.1. La clase Lugar ..................................................................................... 64
1.13.2. Tipos Enumerados en Java ................................................................ 68
1.13.3. Las colecciones en Java ..................................................................... 70
CAPÍTULO 2. Diseño de la interfaz de usuario: Vistas y Layouts ................... 73
2.1. Creación de una interfaz de usuario por código ....................................... 74
2.2. Creación de una interfaz de usuario usando XML .................................... 75
2.2.1. Edición visual de las vistas ................................................................. 78
2.2.2. Los atributos de las vistas ................................................................... 82
2.3. Layouts ...................................................................................................... 83
2.4. Una aplicación de ejemplo: Asteroides ..................................................... 89
2.5. La aplicación: Mis Lugares ........................................................................ 91
2.6. Recursos alternativos ................................................................................ 94
2.7. Tipos de recursos y recursos del sistema ................................................. 99
2.7.1. Tipos de recursos ................................................................................ 99
2.7.2. Acceso a los recursos ....................................................................... 101
2.7.3. Recursos del sistema ........................................................................ 102
2.8. Estilos y Temas ....................................................................................... 103
2.8.1. Los estilos ......................................................................................... 103
Heredar de un estilo propio ............................................................... 104
2.8.2. Los temas .......................................................................................... 104
2.9. Uso práctico de Vistas y Layouts ............................................................ 105
2.9.1. Acceder y modificar las propiedades de las vistas por código ......... 107
2.10. Uso de Tabs (pestañas) .......................................................................... 109
2.10.1. Uso de la etiqueta en layouts ........................................... 113
CAPÍTULO 3. Actividades e Intenciones .......................................................... 115
3.1. Creación de nuevas actividades ............................................................. 116
3.2. Comunicación entre actividades ............................................................. 121
3.3. Añadiendo un menú a una actividad ....................................................... 123
3.4. La barra de acciones (ActionBar)............................................................ 126
3.5. Creando actividades en Mis Lugares ...................................................... 129
3.5.1. Creando la actividad VistaLugar de Mis Lugares ............................. 129
3.5.2. Creando la actividad EdicionLugar de Mis Lugares ......................... 139
3.6. Creación y uso de iconos ........................................................................ 143
3.7. Añadiendo preferencias de usuario ........................................................ 146
3.7.1. Organizando preferencias ................................................................. 149
3.7.2. Como se almacenan las preferencias de usuario ............................. 151
3.7.3. Accediendo a los valores de las preferencias ................................... 152
3.8. Añadiendo una lista de puntaciones en Asteroides ................................ 152
3.9. La vista ListView ...................................................................................... 155
3.9.1. Un ListView que visualiza una lista de Strings.................................. 156
3.9.2. Un ListView que visualiza layouts personalizados ........................... 158
3.9.3. Un ListView con nuestro propio adaptador ....................................... 160
3.9.4. Detectar una pulsación sobre un elemento de la lista ...................... 166
3.10. Las Intenciones ....................................................................................... 167
3.10.1. Añadiendo fotografías en Mis Lugares ............................................. 174
3.10.2. La etiqueta .................................................................. 178
CAPÍTULO 4. Gráficos en Android .................................................................. 179
4.1. Clases para gráficos en Android ............................................................. 180
4.1.1. Canvas .............................................................................................. 180
4.1.2. Paint .................................................................................................. 183
Definición de colores ......................................................................... 184
4.1.3. Path ................................................................................................... 185
4.1.4. Drawable ........................................................................................... 187
BitmapDrawable ................................................................................ 188
GradientDrawable ............................................................................. 189
TransitionDrawable ........................................................................... 190
ShapeDrawable................................................................................. 190
AnimationDrawable ........................................................................... 191
4.2. Creación de una vista en un fichero independiente ................................ 192
4.3. Creando la actividad principal de Asteroides .......................................... 196
4.3.1. La clase Gráfico ................................................................................ 197
4.3.2. La clase VistaJuego .......................................................................... 200
4.3.3. Introduciendo la nave en VistaJuego ................................................ 202
4.4. Representación de gráficos vectoriales en Asteroides ........................... 204
4.5. Animaciones ............................................................................................ 206
4.5.1. Animaciones de vistas ...................................................................... 207
4.5.2. Animaciones de propiedades ............................................................ 210
CAPÍTULO 5. Hilos de ejecución, pantalla táctil y sensores ........................... 211
5.1. Uso de hilos de ejecución (threads) ........................................................ 212
5.1.1. Introducción a los procesos e hilos de ejecuación ........................... 212
5.1.2. Hilos de ejecución en Android .......................................................... 213
5.1.3. Creación de nuevos hilos con la clase Thread ................................. 216
5.1.4. Introduciendo movimiento en Asteroides .......................................... 218
5.1.5. Ejecutar una tarea en un nuevo hilo con AsyncTask ........................ 221
5.1.6. Mostrar un cuadro de progreso en un AsyncTask ............................ 224
5.1.7. El método get() de AsyncTask .......................................................... 226
5.2. Manejando eventos de usuario ............................................................... 228
5.2.1. Escuchador de eventos de la clase View ......................................... 228
5.2.2. Manejadores de eventos ................................................................... 230
5.3. El teclado ................................................................................................. 230
5.4. La pantalla táctil ...................................................................................... 232
5.4.1. Manejo de la pantalla táctil multi-touch ............................................. 235
5.4.2. Manejo de la nave con la pantalla táctil ............................................ 238
5.5. Gestures .................................................................................................. 239
5.5.1. Creación y uso de una librería de gestures ...................................... 240
5.5.2. Añadiendo gestures a Asteroides ..................................................... 244
5.6. Los sensores ........................................................................................... 246
5.6.1. Un programa que muestra los sensores disponibles
y sus valores en tiempo real ............................................................. 251
5.6.2. Utilización de los sensores en Asteroides ........................................ 253
5.7. Introduciendo un misil en Asteroides ...................................................... 255
CAPÍTULO 6. Multimedia y ciclo de vida de una actividad ........................... 259
6.1. Ciclo de vida de una actividad ................................................................ 260
6.1.1. ¿Qué proceso se elimina? ................................................................ 266
6.1.2. Guardando el estado de una actividad ............................................. 269
6.2. Utilizando multimedia en Android............................................................ 272
6.3. La vista VideoView .................................................................................. 274
6.4. La clase MediaPlayer .............................................................................. 276
6.4.1. Reproducción de audio con MediaPlayer ......................................... 277
6.5. Un reproductor multimedia pasó a paso ................................................. 277
6.6. Introduciendo efectos de audio con SoundPool ..................................... 284
6.7. Grabación de audio ................................................................................. 286
CAPÍTULO 7. Seguridad y posicionamiento .................................................... 291
7.1. Los tres pilares de la seguridad en Android ............................................ 292
7.1.1. Usuario Linux y acceso a ficheros .................................................... 293
7.1.2. El esquema de permisos en Android ................................................ 293
7.1.3. Permisos definidos por el programador en Android ......................... 296
7.2. Localización............................................................................................. 299
7.2.1. Sistemas de geolocalización en Dispositivos Móviles ...................... 300
7.2.2. El API de localización de Android ..................................................... 300
7.2.3. Emulación del GPS con Eclipse ....................................................... 305
7.2.4. Estrategias para escoger un proveedor de localización ................... 306
7.3. Google Maps (API v2) ............................................................................. 311
7.3.1. Obtención de una clave Google Maps .............................................. 311
7.4. Fragmentando los asteroides .................................................................. 325
CAPÍTULO 8. Servicios, notificaciones y receptores de anuncios .................. 327
8.1. Introducción a los servicios en Android ................................................... 328
8.1.1. Ciclo de vida de un servicio. ............................................................. 329
8.1.2. Permisos ........................................................................................... 331
8.2. Un servicio para ejecución en segundo plano. ....................................... 331
8.2.1. El método onStartCommand() .......................................................... 334
8.3. Las notificaciones de la barra de estado ................................................. 335
8.3.1. Configurando tipos de avisos en las notificaciones .......................... 338
Asociar un sonido .............................................................................. 338
Añadiendo vibración .......................................................................... 338
Añadiendo parpadeo de LED ............................................................ 338
8.4. Receptores de anuncios.......................................................................... 339
8.4.1. Receptor de anuncios registrado en AndroidManifest.xml ............... 340
8.4.2. Arrancar una actividad en una nueva tarea
desde un receptor de anuncio .......................................................... 345
8.4.3. Arrancar un servicio tras cargar el sistema operativo ....................... 348
8.5. Un servicio en un nuevo hilo con IntentService ...................................... 349
8.5.1. La clase IntentService ....................................................................... 352
8.6. Un receptor de anuncio como mecanismo de comunicación ................. 354
8.7. Un servicio como mecanismo de comunicación entre aplicaciones ....... 355
8.7.1. Crear la interfaz en AIDL ................................................................... 356
El gran libro de Android
8.7.2. Implementar la interfaz ...................................................................... 357
8.7.3. Publicar la interfaz en un servicio ..................................................... 358
8.7.4. Llamar a una interfaz remoto ............................................................ 359
CAPÍTULO 9. Almacenamiento de datos ......................................................... 363
9.1. Alternativas para guardar datos permanentemente en Android ............. 364
9.2. Añadiendo puntuaciones en Asteroides .................................................. 365
9.3. Preferencias ............................................................................................ 367
9.4. Accediendo a ficheros ............................................................................. 370
9.4.1. Sistema interno de ficheros............................................................... 370
9.4.2. Sistema de almacenamiento externo ................................................ 373
Verificando acceso a la memoria externa ......................................... 374
Almacenando ficheros específicos de tu aplicación
en el almacenamiento externo .......................................................... 376
Almacenando ficheros compartidos en el almacenamiento externo 377
9.4.3. Acceder a un fichero de los recursos ................................................ 378
9.5. Trabajando con XML ............................................................................... 380
9.5.1. Procesando XML con SAX ................................................................ 381
9.5.2. Procesando XML con DOM .............................................................. 386
9.6. Bases de datos ........................................................................................ 391
9.6.1. Los métodos query() y rawQuery() ................................................... 394
9.6.2. El método onUpgrade de la clase SQLiteOpenHelper ..................... 396
9.6.3. Uso de bases de datos en Mis Lugares ............................................ 397
9.6.4. Adaptadores para bases de datos .................................................... 401
Operaciones con bases de datos en Mis Lugares ............................ 404
Loaders y LoaderManager ................................................................ 411
9.6.5. Bases de datos relacionales ............................................................. 411
9.7. ContentProvider ...................................................................................... 415
9.7.1. Conceptos básicos ............................................................................ 415
El modelo de datos ........................................................................... 415
Las URI ............................................................................................. 416
9.7.2. Acceder a la información de un ContentProvider ............................. 416
Leer información de un ContentProvider .......................................... 417
Escribir información en un ContentProvider ..................................... 420
Borrar y modificar elementos de un ContentProvider ....................... 421
9.7.3. Creación de un ContentProvider ....................................................... 421
Definir la estructura de almacenamiento del ContentProvider ......... 422
Extendiendo la clase ContentProvider .............................................. 423
Declarar el ContentProvider en AndroidManifest.xml ....................... 427
9.7.4. Acceso a PuntuacionesProvider desde Asteroides .......................... 428
CAPÍTULO 10. Internet: sockets, HTTP y servicios Web .............................. 431
10.1. Comunicaciones en Internet mediante sockets ...................................... 432
10.1.1. La arquitectura cliente/servidor ......................................................... 432
10.1.2. ¿Qué es un socket? .......................................................................... 432
Sockets stream (TCP) ....................................................................... 433
Sockets datagram (UDP) .................................................................. 433
10.1.3. Un ejemplo de un cliente / servidor de ECHO .................................. 434
10.1.4. Un servidor por sockets para las puntuaciones ................................ 438
10.2. La Web y el protocolo HTTP ................................................................... 442
10.2.1. El protocolo HTTP ............................................................................. 443
10.2.2. Versión 1.0 del protocolo HTTP ........................................................ 444
10.2.3. Utilizando HTTP desde Android ........................................................ 446
10.2.4. Uso de HTTP con AsyncTask ........................................................... 451
10.3. Servicios Web ......................................................................................... 452
10.3.1. Alternativas en los servicios Web ..................................................... 453
Servicios Web basados en SOAP .................................................... 453
Servicios Web basados en REST ..................................................... 454
10.3.2. Acceso a servicios Web de terceros ................................................. 459
10.3.3. Creación de un servicio Web con Axis2 ........................................... 462
Instalación del servidor de servicios Web ......................................... 463
Implementación del servicio Web desde Eclipse .............................. 465
Explorando el servicio Web desde Eclipse ....................................... 468
Explorando el servicio Web desde HTML ......................................... 472
Utilizando el servicio Web Axis2 desde Asteroides .......................... 474
10.3.4. Creación de un servicio Web con Apache, PHP y MySQL ............... 478
Utilizando el servicio Web PHP desde Asteroides ........................... 483
Creación de un servicio Web en un servidor de Hosting .................. 485
Utilizando AsyncTask de forma síncrona .......................................... 489
10.3.5. Comparativa sockets / servicios Web ............................................... 492
CAPÍTULO 11. Publicar Aplicaciones .............................................................. 495
11.1. Preparar y testear tu aplicación .............................................................. 495
11.1.1. Preparar la aplicación para distintos tipos de dispositivo ................. 496
11.1.2. Testear la aplicación ......................................................................... 498
11.2. Crear un certificado digital y firmar la aplicación .................................... 500
11.3. Publicar la aplicación ............................................................................... 502
11.3.1. Publicar en Internet ........................................................................... 502
11.3.2. Publicar en Google Play Store .......................................................... 503
11.4. Añadiendo publicidad en tu aplicación con AdMob. ............................... 507
11.5. Asteroides: mostrar victoria y derrota ..................................................... 513
ANEXO A. Fragments ......................................................................................... 517
ANEXO B. Dialogos de fecha y hora ................................................................. 531
Clases para trabajar con fechas en Java ......................................................... 531
ANEXO C. Referencia Java ............................................................................... 539
ANEXO D. Referencia la clase View y sus descendientes ................................ 551
ANEXO E. Sufijos utilizados en recursos alternativos .................................... 563

Otros libros del autor

El Gran Libro de Android

El Gran Libro de Android

Jesús Tomás / Jaime Lloret Mauri

-5%
29,60 € 28,12 €
  • Añadir a favoritos
El Gran Libro de Android 8ªed.

El Gran Libro de Android 8ªed.

Jesús Tomás / Beatriz Tirado Gil

-5%
29,95 € 28,45 €
  • Añadir a favoritos
El Gran Libro de Android Avanzado 5ª Ed.

El Gran Libro de Android Avanzado 5ª Ed.

Jesús Tomás / Gonzalo Puga / David Santamaria / Jorge Barroso

-5%
23,90 € 22,71 €
  • Añadir a favoritos
Firebase: Trabajar en la Nube
-5%
19,80 € 18,81 €
  • Añadir a favoritos
El Gran Libro de Android
-5%
29,60 € 28,12 €
  • Añadir a favoritos

Artículos relacionados

Permanecer Humano. La Empresa a Prueba de la Ia
-5%
17,90 € 17,01 €
  • Añadir a favoritos
Una Vida Siempre en Línea

Una Vida Siempre en Línea

Ariadna Vilalta

Cómo la hiperconectividad, los algoritmos y la IA están reconfigurando nuestra mente y nuestras emociones.UN LIBRO PARA ENTENDER QUÉ NOS ESTÁ PASANDO PSICOLÓGICA Y SOCIALMENTE EN LA ERA DIGITAL. La tecnología no solo organiza nuestra vida: está reorganizando nuestra mente. Vivimos conectados de forma permanente. Dormimos con el móvil al lado, trabajamos frente a pantallas, nos ...

-5%
21,90 € 20,81 €
  • Añadir a favoritos
Liderando la Era de la Ia Generativa

Liderando la Era de la Ia Generativa

Adrian Gonzalez Sanchez

Aquí tienes una sinopsis más fluida y natural de 'Liderando la era de la IA generativa', diseñada para captar la atención de un perfil directivo:Liderando la era de la IA generativa: El 'sistema operativo' para el líder modernoEn un mercado saturado de ruido y promesas tecnológicas, este libro no busca ser un manual técnico más, sino el manual de estrategias definitivo para qui...

-5%
28,50 € 27,08 €
  • Añadir a favoritos
Ética de la Inteligencia Artificial

Ética de la Inteligencia Artificial

https://www.dykinson.com/libros/etica-de-la-inteligencia-artificial/9791370471590/En un momento histórico en el que la inteligencia artificial ha dejado de ser una promesa técnica para convertirse en una infraestructura que atraviesa la vida social, este libro ofrece una brújula conceptual y práctica para orientarse en un territorio complejo. La lA se ha convertido en un entorn...

-5%
58,00 € 55,10 €
  • Añadir a favoritos
Jetson Nvidia. Inteligencia Artificial en tu Bolsillo

Jetson Nvidia. Inteligencia Artificial en tu Bolsillo

Daniel / Ignacio Daniel Gomez Gracian

-5%
19,90 € 18,91 €
  • Añadir a favoritos
Introducción Al Chatgpt en Python

Introducción Al Chatgpt en Python

Bruce R. Hopkins / Bruce Hopkins

Abraza el futuro del desarrollo de software y aprendea crear aplicaciones inteligentes utilizando las API de ChatGPTy OpenAI con el lenguaje de programación Python. Introducción al ChatGPT en Python te enseña cómo utilizar ChatGPT mediante programación. Aprenderás los fundamentos de ChatGPT y las API de OpenAI, incluyendo cómo autenticar, enviar solicitudes, generar respues...

-5%
21,95 € 20,85 €
  • Añadir a favoritos
Tsunami

Tsunami

Pablo Vazquez

En los últimos años, más de 10.000 personas han pasado por los cursos de inteligencia artificial de Pablo Vázquez. Personas con perfiles muy diversos, e inquietudes muy similares: «No sé por dónde empezar». «No sé si mi trabajo está en riesgo». «Sé que debería estar haciendo algo, pero no sé el qué». «Tengo hijos, equipo, familia debería poder orientarlos, y no puedo». Es norma...

-5%
21,90 € 20,81 €
  • Añadir a favoritos
Computación Cuántica

Computación Cuántica

Jacinto Velasco Rebolledo

La computación cuántica se ha consolidado como una de las tecnologías más transformadoras de nuestro tiempo. Ante los límites crecientes de la computación clásica, comprender los principios de la mecánica cuántica aplicados al procesamiento de la información se ha convertido en una competencia esencial para quienes aspiran a liderar la próxima revolución tecnológica. Esta obra ...

-5%
55,00 € 52,25 €
  • Añadir a favoritos
Fancy Bear se Lanza Al Phishing

Fancy Bear se Lanza Al Phishing

Scott J. Shapiro

Es una paradoja de nuestros tiempos que vivamos en la sociedad de la información, pero no entendamos cómo funciona. ¿Qué pasaría si supiésemos más? En Fancy Bear se va de phishing, Scott J. Shapiro recurre a su popular clase en la universidad de Yale sobre hackeo para mostrar que el cibercrimen tiene menos que ver con la programación defectuosa que con el cableado imperfecto de...

-5%
31,95 € 30,35 €
  • Añadir a favoritos
Mas Alla de los Datos, el
-5%
15,90 € 15,11 €
  • Añadir a favoritos