Páginas:
532
Edición:
1
Fecha de publicación:
06/09/2017
ISBN:
9788426725660
Formato:
17x24 cms

Visión Artificial, Google Play Games, Android Wear, TV y Auto

26,90 24,21
26,90 24,21
Añadir a cesta
Recíbelo en 24/48h

El libro que tienes en las manos es una guía para aquellos programadores de Android que, teniendo nociones básicas, quieran introducirse en cuatro de los aspectos más novedosos e interesantes relacionados con esta plataforma:
Análisis de imágenes con OpenCV: Utiliza desde Android la herramienta más extendida y potente para procesar imágenes en tiempo real. Comprende todos los conceptos teóricos necesarios para realizar un preproceso que resalte los elementos que tratas de localizar. Segmenta las zonas donde están los objetos a reconocer. Extrae las características que pueden identificar los objetos. Desarrolla un proyecto que reconozca señales de tráfico en tiempo real y te avise de si tu velocidad es excesiva.

Android Wear es el nuevo sistema operativo de Google para wearables que revoluciona la forma de interactuar con el usuario.
Aprende a crear notificaciones adaptadas a dispositivos Wear. Diseña interfaces de usuario para esta plataforma. Usa el API de sincronización para compartir datos entre el reloj y el móvil. Aprende a utilizar el reconocimiento de voz y sensores. Desarrolla un proyecto que te permita monitorizar y llevar la puntuación de una partida de pádel.
Android Auto: Cuando estamos al volante no debemos utilizar el teléfono por razones de seguridad. Sin embargo, queremos seguir recibiendo mensajes, escuchar nuestra música preferida o recibir notificaciones sobre los lugares por los que pasamos.
Google nos propone Android Auto, un sistema donde las aplicaciones que tenemos instaladas en nuestro dispositivo podrán seguir interactuando con nosotros cuando estemos conduciendo, aunque ahora de una forma totalmente segura. Las principales marcas ya incorporan Android Auto en los nuevos modelos, aunque también podemos usar nuestro propio teléfono activando el modo Auto.

Android TV, Google Cast y Miracast: Una de las más nuevas tecnologías desarrolladas por Google es Android TV, la plataforma de Google para televisión. Google Cast es una tecnología que permite controlar contenido multimedia y ejecutar aplicaciones en una televisión, desde un teléfono, tableta o portátil. Otro sistema similar es Miracast que se está imponiendo entre los fabricantes. Aprende a desarrollar aplicaciones para estos sistemas y comunicarlas con tus aplicaciones Android.
Google Play Games es un servicio online para el desarrollo de juegos operado por Google. Sus principales características son:
multijugador, en tiempo real, almacenamiento en la nube, marcadores públicos y en redes sociales, definición logros y retos, características antipirateo y todo esto sin coste.

El libro propone un aprendizaje dinámico, con actividades, muchas de ellas a través de Internet:
Ejercicio paso a paso: La mejor forma de aprender es practicando.
Práctica: Para afianzar lo aprendido hay que practicar.
Preguntas de repaso: ¿Lo has entendido todo correctamente?

¿Cómo leer este libro? …………………………………………….. xvii 
PARTE 1. Visión artificial en Android usando OpenCV ……… 19

CAPÍTULO 1. Análisis de imagen en Android usando OpenCV …………… 21
1.1 Introducción …………………………………………………………………………………. 22
1.2 Instalación de OpenCV para Android ……………………………………………… 23
1.2.1. Prerrequisitos………………………………………………………………………… 23
1.2.2. Instalación de la librería OpenCV y los ejemplos ……………………….. 24
1.2.3. Prueba en el dispositivo …………………………………………………………. 25
1.3 Imágenes digitales ……………………………………………………………………. 26
1.3.1. Imágenes en color …………………………………………………………………. 27
1.3.2. Imágenes en Android …………………………………………………………….. 28
1.4 Programas básicos con OpenCV en Android ………………………………….. 29
1.4.1. Primer programa para procesamiento de imágenes usando OpenCV…….. 29
1.4.2. Configurar la cámara y su resolución ……………………………………….. 35
1.4.3. Seleccionar la entrada desde fichero ……………………………………….. 38
1.4.4. Guardar el resultado ………………………………………………………………. 40
1.4.5. La clase Mat de OpenCV ……………………………………………………….. 42
1.4.6. Determinar la orientación del dispositivo …………………………………… 44
1.4.7. Separar el procesamiento de las imágenes ………………………………. 45
1.4.8. Procesar imágenes monocromas …………………………………………….. 46
1.4.9. Procesamiento de las imágenes en fases …………………………………. 47
1.4.10. Conclusión …………………………………………………………………………… 54

CAPÍTULO 2. Visión artificial: preproceso ………………………… 57
2.1 Transformaciones de Intensidad ………………………………………………….. 58
2.1.1. Histogramas ………………………………………………………………………….. 59
2.1.2. Aumento lineal del contraste …………………………………………………… 60
2.1.3. Ecualización del histograma ……………………………………………………. 65
2.1.4. Del color al monocromo ………………………………………………………….. 66
2.1.4.1. La luminancia …………………………………………………………………. 67
2.1.4.2. Las componentes de color R, G y B ………………………………….. 67
2.1.4.3. Combinación lineal de las componentes R, G y B ……………….. 68
2.1.4.4. Combinación no lineal de las componentes R, G y B …………… 69
2.1.5. Funciones OpenCV relevantes………………………………………………… 70
2.1.6. Resumen de las transformaciones de intensidad ………………………. 72
2.2 Preproceso: Operadores locales ……………………………………………………… 72
2.2.1. Filtros lineales ……………………………………………………………………….. 74
2.2.1.1. Filtros promediadores. Filtros paso-bajo …………………………….. 74
2.2.1.2. Filtros paso-alto ………………………………………………………………. 78
2.2.1.3. Realce de contornos ……………………………………………………….. 80
2.2.1.4. Gradientes ……………………………………………………………………… 83
2.2.1.5. Conclusión sobre filtros lineales ………………………………………… 88
2.2.2. Filtros morfológicos ……………………………………………………………….. 88
2.2.2.1. Erosión ………………………………………………………………………….. 88
2.2.2.2. Dilatación ……………………………………………………………………….. 91
2.2.2.3. Residuos: gradientes morfológicos ……………………………………. 93
2.2.3. Operadores morfológicos en OpenCV ……………………………………… 95
2.2.3.1. Consideraciones sobre coste computacional ……………………… 96
2.2.3.2. Conclusión sobre operadores morfológicos ………………………… 97

CAPÍTULO 3. Visión artificial: Segmentación y reconocimiento …….. 99
3.1 Binarización …………………………………………………………………………….. 100
3.1.1. Umbralización fija ………………………………………………………………… 102
3.1.2. Umbralización dependiente de la imagen ……………………………….. 102
3.1.3. Umbralización por Otsu ………………………………………………………… 104
3.1.4. Umbralización adaptativa ……………………………………………………… 106
3.1.5. Umbralización en OpenCV ……………………………………………………. 107
3.2 Segmentación ………………………………………………………………………….. 108
3.2.1. La segmentación en OpenCV ……………………………………………….. 110
3.2.2. Objetos delgados y objetos con agujeros ……………………………….. 112
3.2.3. Opciones de findContours() …………………………………………………… 113
3.3 Características …………………………………………………………………………… 114
3.3.1. El Bounding Box ………………………………………………………………….. 115
3.3.2. Análisis del interior del rectángulo ………………………………………….. 120
3.4 Reconocimiento de digitos ………………………………………………………….. 122
3.4.1. Extracción de características …………………………………………………. 122
3.4.1.1. Imagen de baja resolución ……………………………………………… 123
3.4.2. Clasificación………………………………………………………………………… 124
3.4.2.1. Entrenamiento ………………………………………………………………. 124
3.4.2.2. Clasificador de vecino más próximo ………………………………… 125
3.4.2.3. Medidas de distancia …………………………………………………….. 125
3.5 Conclusión ……………………………………………………………………………. 132

PARTE 2. Android Wear y Android Auto ……………………. 133

CAPÍTULO 4. Introducción a Android Wear y notificaciones …….. 135
4.1 La revolución de los wearables …………………………………………………….. 137
4.2 Tipos de wearables ……………………………………………………………………… 137
4.2.1. Relojes inteligentes ……………………………………………………………… 137
4.2.2. Pulseras ……………………………………………………………………………… 138
4.2.3. Gafas de realidad aumentada ……………………………………………….. 138
4.2.4. Gafas de realidad virtual ……………………………………………………….. 142
4.2.5. Dispositivos de identificación …………………………………………………. 144
4.2.6. Incorporados en prendas de vestir …………………………………………. 144
4.2.7. Incorporados en nuestro cuerpo ……………………………………………. 144
4.3 Sistemas operativos para relojes inteligentes ……………………………… 145
4.3.1. No programables …………………………………………………………………. 145
4.3.2. Pebble ………………………………………………………………………………… 145
4.3.3. Android ………………………………………………………………………………. 146
4.3.4. Tizen ………………………………………………………………………………….. 146
4.3.5. Apple Watch ……………………………………………………………………….. 147
4.3.6. Android Wear ………………………………………………………………………. 147
4.4 Introducción a Android Wear …………………………………………………….. 148
4.4.1. Actualizaciones de Android Wear. …………………………………………. 150
4.4.2. La interfaz de usuario en Android Wear ………………………………….. 152
4.4.3. La pantalla de inicio ……………………………………………………………… 152
4.4.4. Flujo de contexto …………………………………………………………………. 153
4.4.5. Aplicaciones, contactos y entrada por voz ………………………………. 154
4.4.6. La pantalla de configuración ………………………………………………….. 155
4.4.7. Aplicaiones a pantalla completa …………………………………………….. 155
4.5 Instalación y toma de contacto con Android Wear ………………………. 155
4.5.1. Instalación en un emulador y emparejado con el móvil …………….. 156
4.6 Instalar ejemplos proporcionados por Google …………………………….. 162
4.7 Notificaciones para Wear …………………………………………………………….. 164
4.7.1. Crear notificaciones para Android y Wear ……………………………….. 165
4.7.2. Añadir acciones a una notificación …………………………………………. 167
4.7.3. Crear notificaciones exclusivas para Wear ……………………………… 170
4.7.4. Personalizar la vista de una notificación …………………………………. 172
4.7.5. Añadir páginas a una notificación ………………………………………….. 175
4.7.6. Apilar notificaciones ……………………………………………………………… 176
4.7.7. Contestar una notificación por voz …………………………………………. 178

CAPÍTULO 5. Desarrollo de Aplicaciones para Android Wear ……………….. 185
5.1 Creación de aplicaciones para Wear ………………………………………………. 186
5.1.1. Una primera aplicación Wear ………………………………………………… 187
5.1.2. Diseño de la interfaz de usuario en Wear ……………………………….. 192
5.1.3. Creación de layouts en pantallas cuadradas y redondas ………….. 193
5.1.3.1. Un layout cuadrado y otro circular con recursos alternativos ………………… 194
5.1.3.2. Un layout cuadrado y otro circular con WatchViewStub ……… 194
5.1.3.3. Diseñar un único layout para pantalla cuadradas y redondas ……………………………………………. 196
5.1.4. Creación de listas de selección ……………………………………………… 200
5.1.4.1. Creación de Layouts Curvados ……………………………………….. 204
5.1.4.2. Gesto de scroll circular …………………………………………………… 206
5.1.5. Creación de tarjetas …………………………………………………………….. 207
5.1.6. Creación de selectores 2D ……………………………………………………. 209
5.1.7. Confirmaciones con cuenta atrás …………………………………………… 212
5.1.8. Alternativas para salir de una actividad …………………………………… 215
5.1.8.1. Salir de una actividad volviendo a la pantalla de inicio ……….. 215
5.1.8.2. Alternativa para salir de una actividad en Wear 2.0 …………… 215
5.1.8.3. Alternativa para salir de una actividad antes de Wear 2.0…… 217
5.1.9. Una actividad para llevar el tanteo de la partida ………………………. 219
5.1.10. Mantener tu aplicación siempre visible …………………………………… 224
5.1.10.1. Evitar que una actividad entre en suspensión ………………….. 225
5.1.10.2. Habilitar el modo ambiente en una actividad ……………………. 225
5.2 Sincronización de datos entre Wear y Android ………………………….. 230
5.2.1. La API de intercambio de mensajes ……………………………………….. 232
5.2.2. La API de sincronización de datos …………………………………………. 239
5.2.2.1. La clase DataItem …………………………………………………………. 239
5.2.2.2. La clase DataMap …………………………………………………………. 240
5.2.2.3. Escuchadores de eventos de ítems de datos ……………………. 241
5.2.2.4. Transferir bloques binarios en un asset ……………………………. 246
5.3 Reconocimiento de voz ………………………………………………………….. 251
5.3.1. Declarar comandos por voz del sistema …………………………………. 251
5.3.2. Declarar comandos por voz de la aplicación ……………………………. 253
5.3.3. Obtener entrada de texto por voz …………………………………………… 253
5.4 Sensores …………………………………………………………………………………… 256
5.4.1. Contador de pasos ………………………………………………………………. 258
5.4.2. Sensor de frecuencia cardiaca ………………………………………………. 260
5.5 Publicación de aplicaciones para Android Wear ………………………….. 260

CAPÍTULO 6. Desarrollo de Aplicaciones para Android Auto …………. 263
6.1 Introducción a Android Auto ………………………………………………………….. 264
6.1.1. Alternativas a Android Auto …………………………………………………… 269
6.2 Patrones de diseño para Android Auto ………………………………………… 271
6.2.1. Personalización de la interfaz ………………………………………………… 272
6.2.2. Temas y colores personalizables …………………………………………… 275
6.2.2.1. Esquema de colores………………………………………………………. 276
6.2.2.2. Fondos personalizados ………………………………………………….. 276
6.2.2.3. Componentes del sistema ………………………………………………. 277
6.2.2.4. Tamaño de los iconos ……………………………………………………. 278
6.2.2.5. Imagen corporativa………………………………………………………… 278
6.2.3. Aplicaciones multimedia ……………………………………………………….. 279
6.2.3.1. Principios de diseño ………………………………………………………. 279
6.2.3.2. Tarjeta de control multimedia ………………………………………….. 279
6.2.3.3. Navigation drawer …………………………………………………………. 281
6.2.3.4. Cola de reproducción …………………………………………………….. 282
6.2.3.5. Lanzar la aplicación desde la pantalla de resumen ……………. 283
6.2.3.6. Capa de peticiones (Demand Layer) ……………………………….. 283
6.2.3.7. Modo día / Modo noche …………………………………………………. 283
6.2.4. Aplicaciones de mensajería …………………………………………………… 284
6.2.4.1. Estructura de una notificación …………………………………………. 284
6.2.4.2. Interacciones de una aplicación de mensajería …………………. 285
6.2.4.3. Personalización de las notificaciones ………………………………. 286
6.3 Instalación y toma de contacto con Android Auto …………………… 286
6.3.1. Instalación de la aplicación móvil …………………………………………… 286
6.3.2. Probando las aplicaciones …………………………………………………….. 289
6.3.2.1. Probando mediante la aplicación Android Auto ………………….. 289
6.3.2.2. Instalando DHU y emparejado con el móvil ………………………. 290
6.3.2.3. Comandos DHU …………………………………………………………….. 292
6.4 Programando para Android Auto …………………………………………… 292
6.4.1. Prerrequisitos ………………………………………………………………………. 293
6.4.2. Declarando las funcionalidades para Android Auto …………………… 293
6.4.2.1. Creación del fichero de configuración XML ……………………….. 294
6.4.2.2. Configuración del manifiesto …………………………………………… 294
6.4.3. Crear aplicación de mensajería para Android Auto …………………… 295
6.4.3.1. Declarar soporte de Android Auto ……………………………………. 297
6.4.3.2. Intent Filters para leer y contestar notificaciones ……………….. 299
6.4.3.3. Gestionar la recepción de notificaciones …………………………… 299
6.4.3.4. Enviar mensajes ……………………………………………………………. 301
6.4.3.5. Gestionar las acciones de usuario …………………………………… 302
6.4.4. Crear aplicación multimedia para Android Auto ………………………… 309
6.4.4.1. Principios básicos ………………………………………………………….. 310
6.4.4.2. Declarar soporte de Android Auto ……………………………………. 312
6.4.4.3. Implementación del servicio ……………………………………………. 313
6.4.4.4. Jerarquía de contenidos …………………………………………………. 314
6.4.4.5. Control de reproducción …………………………………………………. 317
6.4.4.6. Control de reproducción por voz………………………………………. 326
6.4.4.7. Determinar si nuestra aplicación está conectada ……………….. 329
6.4.4.8. Gestionar anuncios multimedia ……………………………………….. 329
6.4.4.9. Gestión de alarmas ………………………………………………………… 330
6.4.4.10. Navegación a través del contenido multimedia ………………… 330
6.4.4.11. Lista de reproducción externa ……………………………………….. 331
6.5 Políticas de calidad ………………………………………………………………… 340
6.5.1. Diseño visual e interfaz de usuario ………………………………………… 341
6.5.2. Funcionalidad ……………………………………………………………………… 342
6.6 Publicar una aplicación …………………………………………………………… 344

PARTE 3. Android para SmartTV y Google Play Games …………………… 347

CAPÍTULO 7. Android TV ………………………………………………….. 349
7.1 Entorno de Android TV ………………………………………………………………… 350
7.1.1. Introducción a la interfaz de Android TV …………………………………. 351
7.2 Aplicaciones para Android TV ……………………………………………………… 353
7.2.1. Tipos de aplicaciones para Android TV …………………………………… 354
7.2.2. Configurar un proyecto para Android TV …………………………………. 354
7.2.2.1. Prerrequisitos ……………………………………………………………….. 355
7.2.2.2. Librerías de soporte para Android TV ………………………………. 355
7.2.2.3. Declarar una actividad para televisión ……………………………… 356
7.2.2.4. Interfaz Leanback ………………………………………………………….. 358
7.2.2.5. No declarar el uso de la pantalla táctil ……………………………… 359
7.2.2.6. Proporcionar un banner en la pantalla principal ………………… 359
7.2.3. Crear una aplicación Android TV con Android Studio ……………….. 360
7.3 Recomendaciones y búsquedas ……………………………………………………. 377
7.3.1. Recomendaciones ……………………………………………………………….. 378
7.3.2. Búsquedas ………………………………………………………………………….. 383
7.3.3. Búsquedas externas …………………………………………………………….. 383
7.3.4. Búsquedas internas ……………………………………………………………… 396
7.4 Juegos en Android TV ……………………………………………………………… 400
7.5 Requisitos de Google Play Store para Android TV ……………………….. 403

CAPÍTULO 8. Google Cast y MiraCast ………………………………….. 407
8.1 Google Cast …………………………………………………………………………………….. 408
8.1.1. Partes de una aplicación Google Cast ……………………………………. 409
8.1.2. Preparar el entorno de desarrollo …………………………………………… 409
8.2 Aplicación Android emisora ………………………………………………………. 410
8.2.1. Aplicación receptora …………………………………………………………….. 422
8.2.1.1. Styled Media Receiver …………………………………………………… 424
8.2.1.2. Custom Receiver …………………………………………………………… 428
8.3 Miracast ………………………………………………………………………………. 442
8.3.1. Características de Miracast …………………………………………………… 442
8.3.2. Miracast en Android ……………………………………………………………… 443

CAPÍTULO 9. Google Play Games ……………………………………… 459
9.1 Introducción ………………………………………………………………………………. 460
9.1.1. Conceptos generales ……………………………………………………………. 461
9.1.2. Conectar una aplicación Android con Google Play Games ……….. 472
9.2 Guardar datos en la nube …………………………………………………………….. 480
9.3 Aplicaciones multijugador en tiempo real ……………………………………… 489
9.3.1. Conceptos básicos de los juegos multijugador en tiempo real. ….. 489
9.3.2. Partida rápida ……………………………………………………………………… 492
9.4 Aplicación multijugador basada en turnos …………………………………. 500
9.4.1. Invitar a partida ……………………………………………………………………. 503
9.4.2. Partida por turnos ………………………………………………………………… 505
9.5 Marcadores ……………………………………………………………………………….. 514
9.6 Logros …………………………………………………………………………………………. 517
9.7 Eventos …………………………………………………………………………………………… 521
9.8 Misiones ……………………………………………………………………………………….. 522
9.9 Regalos …………………………………………………………………………………………… 524
9.10 Estadisticas del jugador ………………………………………………………………….. 526
9.11 Grabar video de partida ……………………………………………………………………. 530

 

A color
Páginas:
532
Edición:
1
Año Publicación:
06/09/2017
ISBN:
9788426725660
Formato:
17x24 cms
Colección

Relacionados

¿Quiéres conocer las últimas novedades?

Inscribiéndote recibirás unos regalos exclusivos para ti