Android Touch. En esta misma clase modificamos también el método avanza() de tal manera que ahora el elefante pueda desplazarse también en el eje y.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Android Touch. En esta misma clase modificamos también el método avanza() de tal manera que ahora el elefante pueda desplazarse también en el eje y."

Transcripción

1 Android Touch En este tutorial aprenderemos a utilizar la pantalla táctil de los dispositivos para sacar ventaja de ello en nuestras aplicaciones. Para este tutorial tomaremos como base el tutorial anterior, puedes crear un proyecto nuevo o seguir trabajando sobre el proyecto creado en el tutorial anterior. Si vas a crear un proyecto nuevo crea uno para la plataforma 2.2 y nombra a la Actividad principal TutorialElefanteTouch. La aplicación que desarrollaremos mostrará en pantalla el mismo elefante de la aplicación anterior solo que en esta ocasión podremos modificar su dirección de desplazamiento al tocar la pantalla del dispositivo. La mayoría del código se queda tal cual como en el tutorial anterior por lo cual aquí nos enfocaremos únicamente en las modificaciones que se tienen que hacer. Empecemos por la clase Elefante, dado a que ahora el elefante podrá desplazarse tanto en el eje x como en el eje y necesitamos añadir dos nuevas contantes en la definición de la clase para indicar la dirección del movimiento del elefante. public class Elefante { public static final int LEFT = 1; //Dirección del Elefante, Izquierda public static final int RIGHT = 2; //Dirección del Elefante, Derecha public static final int UP = 3; //Dirección del Elefante, Arriba public static final int DOWN = 4; //Dirección del Elefante, Abajo En esta misma clase modificamos también el método avanza() de tal manera que ahora el elefante pueda desplazarse también en el eje y. public void avanza() { //Avanza a la derecha if (dir == RIGHT) x += 5; //Avanza a la izquierda if (dir == LEFT) x - = 5; //Avanza arriba if (dir == UP) y - = 5; //Avanza abajo if (dir == DOWN) y += 5; Tanto la clase Animacion como el manifiesto de la aplicación permanecen sin cambio alguno por lo cual continuaremos ahora con los cambios a realizar en la Actividad. Empezamos por importar las clases necesarias para la Actividad donde ahora necesitaremos importar también las clases View y OnTouchListener. En la

2 definición de la clase implementaremos la interfase OnTouchListener y definiremos dos nuevos miembros que nos ayudarán a mapear los toques que se hagan en la pantalla táctil. import android.app.activity; import android.content.context; import android.content.res.assetfiledescriptor; import android.content.res.assetmanager; import android.content.res.configuration; import android.graphics.bitmap; import android.graphics.bitmap.config; import android.graphics.bitmapfactory; import android.graphics.canvas; import android.graphics.rect; import android.media.audiomanager; import android.media.soundpool; import android.os.bundle; import android.os.powermanager; import android.os.powermanager.wakelock; import android.view.motionevent; import android.view.surfaceholder; import android.view.surfaceview; import android.view.view; import android.view.view.ontouchlistener; import android.view.window; import android.view.windowmanager; import java.io.ioexception; import java.io.inputstream; public class TutorialElefanteTouch extends Activity implements OnTouchListener { //Vista de la Actividad ElefanteFastRenderView renderview; //Candado para evitar que el dispositivo duerma WakeLock wakelock; //Objeto Elefante Elefante elefante; //Objeto Animacion Animacion elefanteanim; //Colección de sonidos SoundPool pool; //Identificador de sonido int soundid = - 1; //Posiciones 'x' y 'y' int x, y; //Objetos Bitmap para el manejo de imágenes Bitmap cuadro, framebuffer; //Escala en 'x' y 'y'

3 float scalex, scaley; Dado a que nosotros primero dibujamos nuestra animación en un buffer virtual y posteriormente lo proyectamos a la vista que se mostrará en la pantalla necesitamos mapear los toques que se hacen en la pantalla táctil. El buffer virtual en el que dibujamos es por defecto de 320 x 480 pixeles, sin embargo el tamaño de la pantalla en la cual se proyectará la imagen no será precisamente de estas mismas medidas por lo cuál al proyectar el buffer en la pantalla es necesario escalar el buffer para que se muestre en pantalla conservando su proporción original y de esta manera garantizar que la imagen se vea siempre igual en proporción en cualquier dispositivo en el cual se corra la aplicación. Dado a que el buffer será escalado es importante para nosotros conocer esa escala que se hará en cada uno de los ejes de tal manera que podamos escalar el toque que se haga en la pantalla para que las coordenadas del toque coincidan con las coordenadas del buffer virtual donde se encuentra el elefante. Los miembros scalex y scaley nos ayudarán a calcular la escala que se aplique a cada uno de los ejes. En el método oncreate() de la Actividad, justo después de crear nuestro buffer virtual calculamos la escala en cada uno de los ejes y los guardamos en los miembros scalex y sacley. //Determina la orientación del dispositivo y crea un buffer en base //a esta boolean islandscape = getresources().getconfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; //Ancho del buffer int framebufferwidth = islandscape? 480 : 320; //Alto del buffer int framebufferheight = islandscape? 320 : 480; //Crea el buffer framebuffer = Bitmap.createBitmap(frameBufferWidth, framebufferheight, Config.RGB_565); //Escala en x basada en el ancho del buffer y el ancho de la //pantalla del dispositivo scalex = (float) framebufferwidth / getwindowmanager().getdefaultdisplay().getwidth(); //Escala en y basada en el alto del buffre y el alto de la pantalla del //dispositivo scaley = (float) framebufferheight / getwindowmanager().getdefaultdisplay().getheight(); Dentro del mismo método utilizamos el método setontouchlistener() para indicar que la Actividad se encargará de manejar los eventos de toque. Esto lo añadimos justo después de que creamos nuestra vista.

4 //Crea y establece la vista de la Actividad y establece un //OnTouchListener para esta renderview = new ElefanteFastRenderView(this); renderview.setontouchlistener(this); setcontentview(renderview); Sobreescribimos ahora el método ontouch() requerido por la interfase OnTouchListener para manejar los eventos de toque en la Actividad. En este cambiaremos la dirección de movimiento del objeto Elefante dependiendo de la posición donde el usuario toque la pantalla. Al obtener las coordenadas del toque las multiplicamos por los valores de la escala para ajustarlos al tamaño del buffer virtual. /** * Método ontouch sobrescrito de la interface OnTouchListener * Maneja los eventos de contacto en la Actividad v es la vista que contiene el OnTouchListener event son los eventos de contacto atrapados por el *OnTouchListener regresa verdadero cuando es llamado public boolean ontouch(view v, MotionEvent event){ //Maneja los eventos de contacto switch (event.getaction()) { //Cuando se hace contacto con el dedo case MotionEvent.ACTION_DOWN: // //Cuando se mueve el dedo haciendo contacto case MotionEvent.ACTION_MOVE: // case MotionEvent.ACTION_CANCEL: // //Cuando se deja de hacer contacto case MotionEvent.ACTION_UP: //Cambia la dirección de movimiento del //objeto Elefante dependiendo del punto de //contacto if ((event.getx() * scalex) < elefante.x) elefante.dir = Elefante.LEFT; else if ((event.getx() * scalex) > elefante.x + elefante.animacion.getcuadro().getwidth()) elefante.dir = Elefante.RIGHT; else if ((event.gety() * scaley) < elefante.y) elefante.dir = Elefante.UP;

5 else if ((event.gety() * scaley) > elefante.y + elefante.animacion.getcuadro().getheight()) elefante.dir = Elefante.DOWN; return true; Finalmente en el método actualizaelefante() nos aseguramos de checar que el elefante no salga por ninguna de las orillas de la pantalla. /** * Método actualizaelefante * Llamado para actualizar el objeto Elefante tiempo es el tiempo transcurrido desde la última * vez que se actualizó */ private void actualizaelefante(float tiempo) { //Guarda el tiempo transcurrido tiempotick += tiempo; //Actualiza mientras el tiempo transcurrido sea mayor al //tiempo de actualización while(tiempotick > tick) { tiempotick - = tick; //Actualiza la posición del objeto Elefante elefante.avanza(); //Checa colisión con las orillas de la pantalla if(elefante.x + elefante.animacion.getcuadro().getwidth() > framebuffer.getwidth() elefante.x < 0){ //Cambia la dirección en base a la dirección //actual if (elefante.dir == Elefante.RIGHT) elefante.dir = Elefante.LEFT; else elefante.dir = Elefante.RIGHT; //Actualiza la posición del objeto Elefante elefante.avanza(); //Si el sonido ya estaba en reproducción lo //detiene pool.stop(soundid); //Reproduce el efecto de sonido pool.play(soundid, 1, 1, 0, 0, 1); if(elefante.y + elefante.animacion.getcuadro().getheight() > framebuffer.getheight() elefante.y < 0){ //Cambia la dirección en base a la dirección

6 //actual if (elefante.dir == Elefante.UP) elefante.dir = Elefante.DOWN; else elefante.dir = Elefante.UP; //Actualiza la posición del objeto Elefante elefante.avanza(); //Si el sonido ya estaba en //reproducción lo detiene pool.stop(soundid); //Reproduce el efecto de sonido pool.play(soundid, 1, 1, 0, 0, 1);

Look!: Framework para Aplicaciones de Realidad Aumentada en Android

Look!: Framework para Aplicaciones de Realidad Aumentada en Android Look!: Framework para Aplicaciones de Realidad Aumentada en Android Diseño de aplicaciones con Look! Sergio Bellón Alcarazo Jorge Creixell Rojo Ángel Serrano Laguna En este tutorial se proponen los pasos

Más detalles

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante) 1. : La clase Cuenta. Uso de la clase Cuenta 3. Métodos y objetos receptores de mensajes (Importante) 1 Una clase para cuentas de un banco Vamos a modelar con una clase, un nuevo tipo de datos, donde los

Más detalles

La funcionalidad básica es la del proyecto 1 (Pacman III). Sobre ella reemplazamos la interfaz de usuario para adaptarla al nuevo entorno

La funcionalidad básica es la del proyecto 1 (Pacman III). Sobre ella reemplazamos la interfaz de usuario para adaptarla al nuevo entorno Pacman en android 14.5.2015 1 Objetivos Pasar el juego del proyecto 1 (Pacman III) a una plataforma Android. movimiento del jugador dirigido por el dedo programación de menús contextuales gestión de threads

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

Programación de videojuegos con LibGdx. Javier Villegas Gomez

Programación de videojuegos con LibGdx. Javier Villegas Gomez Programación de videojuegos con LibGdx Javier Villegas Gomez Índice -Arquitectura de un videojuego -Funcionamiento de un videojuego -LibGdX -Ejemplo: Hello world -Personaje principal - Movimiento -Ejercicio

Más detalles

15. ANEXO # 5 GAMEPLAYOBJECT

15. ANEXO # 5 GAMEPLAYOBJECT 15. ANEXO # 5 GAMEPLAYOBJECT A continuación se muestra el constructor de la clase GameplayObject public GameplayObject(Camera camera, int rows, int columns, GraphicsDevice dispositivo, bool invertir =

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

Ejercicio 4. Manejo de Layouts en Android. Android Con Java. Ejercicio 4. Manejo de Layouts en Android. Curso de Android con Java

Ejercicio 4. Manejo de Layouts en Android. Android Con Java. Ejercicio 4. Manejo de Layouts en Android. Curso de Android con Java Android Con Java Ejercicio 4 Manejo de Layouts en Android Objetivo del Ejercicio El objetivo del ejercicio es entender el manejo de Layout y los Adaptadores en Android. Al finalizar deberemos observar

Más detalles

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida } REUTILIZACIÓN DE CLASES:MODELO DE HERENCIA EN JAVA Java soporta herencia simple pero no múltiple. Lo hace mediante el mecanismo de extensión de clase. A partir de él, una subclase se extiende (hereda)

Más detalles

PRACTICAS DE ANDROID 12 - Lanzar un segundo "Activity" y pasar parámetros Problema:

PRACTICAS DE ANDROID 12 - Lanzar un segundo Activity y pasar parámetros Problema: PRACTICAS DE ANDROID 12 - Lanzar un segundo "Activity" y pasar parámetros Hemos visto en el concepto anterior que un programa puede tener más de una ventana representando cada ventana con una clase que

Más detalles

Primer Parcial Septiembre 5 de 2009

Primer Parcial Septiembre 5 de 2009 Primer Parcial Septiembre 5 de 2009 Algoritmos y Lenguajes II Reglas del juego Tal como se le dijo antes, durante este examen usted no puede pedir ABSOLUTAMENTE nada prestado a sus compañeros, ni hablar

Más detalles

INTELIGENCIA EN REDES DE COMUNICACIONES PRÁCTICA FINAL. Ignacio Ribas Ramos Miguel Flecha Lozano Ingeniería de Telecomunicaciones

INTELIGENCIA EN REDES DE COMUNICACIONES PRÁCTICA FINAL. Ignacio Ribas Ramos Miguel Flecha Lozano Ingeniería de Telecomunicaciones INTELIGENCIA EN REDES DE COMUNICACIONES PRÁCTICA FINAL BLACKJACK Ignacio Ribas Ramos Miguel Flecha Lozano Ingeniería de Telecomunicaciones 1. Explicación del juego de cartas del Blackjack El Blackjack

Más detalles

www.android-spa.com Android Creación de una aplicación sencilla: Forwarding - Página 1 -

www.android-spa.com Android Creación de una aplicación sencilla: Forwarding - Página 1 - Android Creación de una aplicación sencilla: Forwarding - Página 1 - Realización de la aplicación Forwarding en Android Este es un pequeño tutorial con el que se realizará un pequeño programa para Android

Más detalles

Ejercicio 16. Mejora de Notificaciones en Android. Android Con Java. Ejercicio 16. Mejora de Notificaciones en Android. Curso de Android con Java

Ejercicio 16. Mejora de Notificaciones en Android. Android Con Java. Ejercicio 16. Mejora de Notificaciones en Android. Curso de Android con Java Android Con Java Ejercicio 16 Mejora de Notificaciones en Android Objetivo del Ejercicio El objetivo del ejercicio es entender y utilizar algunas de las nuevas clases para mejorar el manejo de Notificaciones

Más detalles

Introducción a la Programación de Videojuegos y Gráficos

Introducción a la Programación de Videojuegos y Gráficos Introducción a la Programación de Videojuegos y Gráficos GRADO EN INGENIERÍA INFORMÁTICA Curso 2012/2013 T3: VIDEOJUEGOS 2D Y 3D 3.1. Estructura de un videojuego. 3.2. Motores gráficos(perspectivas, estructuras

Más detalles

Integración de guia1 y guia2 utilizando la aplicación Mixare

Integración de guia1 y guia2 utilizando la aplicación Mixare Facultad de Ingeniería y Arquitectura Escuela de Ingeniería en Sistemas Programación en Dispositivos Móviles Integración de guia1 y guia2 utilizando la aplicación Mixare Responsable Ing. César Augusto

Más detalles

Administración Local Soluciones

Administración Local Soluciones SISTEMA INTEGRADO DE GESTIÓN DE EXPEDIENTES MODULAR (SIGM) FUNCIONALIDAD ANTIVIRUS (MÓDULO TRAMITACIÓN ELECTRÓNICA) SIGM v3 Administración Local Soluciones Control de versiones Versión Fecha aprobación

Más detalles

10. Gráficos en dos dimensiones

10. Gráficos en dos dimensiones 10. Gráficos en dos dimensiones 10.1 El método ondraw() Los botones, como el resto de vistas, poseen su propia implementación del método ondraw(). Este método se ejecuta automáticamente cuando se representa

Más detalles

Hola Android. Introducción al desarrollo de aplicaciones para Android

Hola Android. Introducción al desarrollo de aplicaciones para Android Hola Android. Introducción al desarrollo de aplicaciones para Android Las aplicaciones para el sistema operativo móvil Android son desarrolladas en el lenguaje de programación Java en conjunto con el SDK

Más detalles

Curso PUDE. Desarrollo de Aplicaciones Móviles en Android

Curso PUDE. Desarrollo de Aplicaciones Móviles en Android Curso PUDE Ejercicio Avanzado A: Bases de Datos y conexión con un ListView utilizando vistas A. Descripción Con este ejercicio, veremos cómo funcionan las bases de datos SQLite en Android, crearemos una,

Más detalles

Programación Orientada a Objetos con Java

Programación Orientada a Objetos con Java Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la

Más detalles

2. Estructura de un programa en Java

2. Estructura de un programa en Java 24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador

Más detalles

package com.example.dialogov1;

package com.example.dialogov1; package com.example.dialogov1; import android.app.alertdialog; import android.app.alertdialog.builder; import android.app.dialog; import android.app.dialogfragment; import android.app.progressdialog; import

Más detalles

Introducción a la Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir

Más detalles

Sensores. JOSE LUIS BERENGUEL GÓMEZ jlberenguel@gmail.com Marzo 2012

Sensores. JOSE LUIS BERENGUEL GÓMEZ jlberenguel@gmail.com Marzo 2012 Sensores JOSE LUIS BERENGUEL GÓMEZ jlberenguel@gmail.com Marzo 2012 Contenidos Tipos de sensores. Sensores de movimiento Sensores de posición. Sensores ambientales. Framework para manejar los sensores.

Más detalles

Programación Java Curso 2006-1 C Draw

Programación Java Curso 2006-1 C Draw Programación Java Curso 2006-1 C Draw FIUBA Introducción: Prof.. María Feldgen Ing. Osvaldo Clúa En Java, para dibujar se usa el contexto gráfico de un componente. Según las plataformas, este contexto

Más detalles

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2 Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3

Más detalles

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS 1 NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS Árboles Binarios y Árboles Binarios Ordenados 2 Contenido Árboles binarios Iteradores Árboles binarios ordenados 3 Árboles binarios Algunas definiciones para

Más detalles

ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE

ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE SQLite M.Sc. Reynaldo Zeballos ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE En este ejercicio vamos a crear una tabla TELEFONOS para la base de datos GUIATEL. Para lo cual utilizaremos SQLite que viene

Más detalles

1.- Creamos un proyecto al que llamaremos MusicaMovil.

1.- Creamos un proyecto al que llamaremos MusicaMovil. Base de datos en Android. (Modelo de la BD) Este ejercicio probablemente parecerá absurdo, pero no pretendo hacer un reproductor de música, sino más bien es un previo para un diccionario de español a maya

Más detalles

GUÍA DE APLICACIONES SATFOR PARA DISPOSITIVOS MÓVILES ANDROID

GUÍA DE APLICACIONES SATFOR PARA DISPOSITIVOS MÓVILES ANDROID GUÍA DE APLICACIONES SATFOR PARA DISPOSITIVOS MÓVILES ANDROID Aplicación EmeRA para dispositivos Android Edición: septiembre 2013 GUÍA DE APLICACIONES SATFOR PARA DISPOSITIVOS MÓVILES ANDROID Aplicación

Más detalles

James Gosling, creador de Java

James Gosling, creador de Java Lo que Java intenta hacer y lo hace con bastante éxito, es abarcar dominios diferentes. De esa forma le permite efectuar trabajos para de aplicaciones del lado del servidor, del lado del cliente, para

Más detalles

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

Aplicación Android de Asistencia al Caminante

Aplicación Android de Asistencia al Caminante Aplicación Android de Asistencia al Caminante Enrique R. Delgado Garrido Almacenamiento de datos en Android. Documento: Índice de contenido.1 A2.- Almacenamiento de datos en Android.2 A.2.1 - Preferences2

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes

Más detalles

Almacenamiento en Android

Almacenamiento en Android Almacenamiento en Android LSUB, GYSC, URJC Todo lo que hay que saber http://developer.android.com/guide/topics/ data/data-storage.html Dentro de una Aplicación Ya hemos visto, que se puede pasar con el

Más detalles

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

Más detalles

Tutorial Enterprise Architect 7.5 Versión en español

Tutorial Enterprise Architect 7.5 Versión en español Página 1 de Tutorial Enterprise Architect 7.5 Versión en español Página 2 de Índice Aspectos básicos Vistazo general. 3 Diagrama de Clases.. 4 Atributos 6 Métodos. 10 Relaciones.. 11 Configuración de Opciones

Más detalles

Prácticas de Programación

Prácticas de Programación Prácticas de Programación Tema 1. Introducción al análisis y diseño de programas Tema 2. Clases y objetos Tema 4. Tratamiento de errores Tema 5. Aspectos avanzados de los tipos de datos Tema 6. Modularidad

Más detalles

Temas. CopyRight 2013 - emmmnmmma - All rights reserved 2

Temas. CopyRight 2013 - emmmnmmma - All rights reserved 2 Tutorial ANDROID Temas 1 - Instalación de Android 2 - Pasos para crear el primer proyecto Android 3 - Captura del clic de un botón 4 - Controles RadioGroup y RadioButton 5 - Control CheckBox 6 - Control

Más detalles

75-62 Técnicas de Programación Concurrente II 2004 java Threads

75-62 Técnicas de Programación Concurrente II 2004 java Threads 75-62 Técnicas de Programación Concurrente II 2004 java Threads FIUBA Ing. Osvaldo Clúa Bibliografía: tutorial de Java en http://java.sun.com Un buen libro (algo teórico) es Garg: Concurrent and Distributed

Más detalles

Crear una Activity en Android. Paso por paso

Crear una Activity en Android. Paso por paso 19-03-2014 Crear una Activity en Android. Paso por paso Una breve descripción de qué hacer cuando las herramientas de desarrollo de Android se convierten en nuestros enemigos. A veces, puede pasar que

Más detalles

IVista: es la interfaz con la que el Presentador se comunica con la vista.

IVista: es la interfaz con la que el Presentador se comunica con la vista. Capítulo 3 MODELO DE DISEÑO 3.1 Arquitectura Modelo-Vista-Presentador La arquitectura Modelo-Vista-Presentador (MVP) [11] separa el modelo, la presentación y las acciones basadas en la interacción con

Más detalles

Programación Android. Alejandro Alcalde. elbauldelprogramador.com

Programación Android. Alejandro Alcalde. elbauldelprogramador.com Programación Android Alejandro Alcalde elbauldelprogramador.com Copyright c 2013 Alejandro Alcalde P L A TEX. Programación Android por Alejandro Alcalde se encuentra bajo una Licencia Creative Commons

Más detalles

INTRODUCCIÓN. paco@portadaalta.es

INTRODUCCIÓN. paco@portadaalta.es INTRODUCCIÓN paco@portadaalta.es Índice Entorno de desarrollo Estructura de un proyecto Android Componentes de una aplicación Android Ejemplos: Mi primera aplicación Divisas 2 actividades Contador de cafés

Más detalles

PROGRAMACIÓN EN JAVA

PROGRAMACIÓN EN JAVA SISTEMAS INFORMÁTICOS INDUSTRIALES curso 2007-2008 PROGRAMACIÓN EN JAVA PRÁCTICA 3: Comunicación entre tareas. Modelo productor / consumidor. Objetivos Implementar una aplicación en Java en la que existan

Más detalles

Programación en Android LSUB, GSYC, URJC

Programación en Android LSUB, GSYC, URJC Programación en Android LSUB, GSYC, URJC Introducción Teléfono o Emulador Android Studio Introducción Activity Mgr App! Dialer Dalvik JVM SQLite WebKit... OpenGL Linux kernel Dispositivo móvil Aplicaciones

Más detalles

Pruebas de unidad con JUnit

Pruebas de unidad con JUnit Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro

Más detalles

Android Con Java. Ejercicio 2. Ciclo de Vida de las Actividades en Android. Ejercicio 2. Ciclo de Vida de las Actividades en Android

Android Con Java. Ejercicio 2. Ciclo de Vida de las Actividades en Android. Ejercicio 2. Ciclo de Vida de las Actividades en Android Android Con Java Ejercicio 2 Ciclo de Vida de las Actividades en Android Objetivo del Ejercicio El objetivo del ejercicio es entender y verificar cada una de las etapas del Ciclo de Vida de las Actividades

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

Concurrencia en Android LSUB, GYSC, URJC

Concurrencia en Android LSUB, GYSC, URJC Concurrencia en Android LSUB, GYSC, URJC Repaso de concurrencia en Java Crear un thread Instanciar un Thread, con el método run sobreescrito Intanciar un objeto que cumpla el interfaz Runnable y pasárselo

Más detalles

COMPETENCIA DE VIDA ARTIFICIAL Diseño Completo

COMPETENCIA DE VIDA ARTIFICIAL Diseño Completo COMPETENCIA DE VIDA ARTIFICIAL INTRODUCCIÓN Teniendo en cuenta que el desarrollo del código es en el lenguaje Java y en base a un Diseño Orientado a Objetos, se detallan a continuación los lineamientos

Más detalles

Grillas y Animación. Vamos allá! DURACIÓN: PERÍODOS DE CUATRO CLASES

Grillas y Animación. Vamos allá! DURACIÓN: PERÍODOS DE CUATRO CLASES Grillas y Animación En el manual y en los ejemplos de Pilas, puedes ver cómo usar grillas para tener tus personajes animados de forma automática. Pero el tema es algo más complicado cuando quieres hacer

Más detalles

ALGORITMICA Y PROGRAMACION POR OBJETOS I

ALGORITMICA Y PROGRAMACION POR OBJETOS I ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 2 Definiendo situaciones y manejando casos Marcela Hernández Hoyos Qué vamos a aprender en este nivel: Diferencia entre clase y objeto Modelar características

Más detalles

Soluciones Ejercicios Tema 3

Soluciones Ejercicios Tema 3 1 Soluciones Ejercicios Tema 3 Germán Moltó gmolto@dsic.upv.es Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Solución Ejercicio

Más detalles

MODELO DE IMPLEMENTACIÓN

MODELO DE IMPLEMENTACIÓN Capítulo 4 MODELO DE IMPLEMENTACIÓN 4.1 Introducción El Modelo de implementación utiliza el resultado del Modelo de diseño para generar el código final en el lenguaje de programación elegido [10]. Aunque

Más detalles

UNIVERSIDAD AUTÓNOMA DE SINALOA FACULTAD DE INGENIERÍA MOCHIS LIC. EN INGENIERÍA DE SOFTWARE MATERIA: REDES Y COMUNICACIÓN DE DATOS GRUPO: 401

UNIVERSIDAD AUTÓNOMA DE SINALOA FACULTAD DE INGENIERÍA MOCHIS LIC. EN INGENIERÍA DE SOFTWARE MATERIA: REDES Y COMUNICACIÓN DE DATOS GRUPO: 401 UNIVERSIDAD AUTÓNOMA DE SINALOA FACULTAD DE INGENIERÍA MOCHIS LIC. EN INGENIERÍA DE SOFTWARE MATERIA: REDES Y COMUNICACIÓN DE DATOS GRUPO: 401 PROFESOR: CARLOS ALARCÓN ALUMNO: SÁNCHEZ CASTILLO LUIS ÁNGEL

Más detalles

Árboles binarios de búsqueda

Árboles binarios de búsqueda Clase 27 Árboles binarios de búsqueda Árboles binarios de búsqueda En la clase anterior, definimos el concepto de árbol binario de búsqueda como un árbol binario de nodos que contienen una clave ordenada

Más detalles

Scrolling DURACIÓN: PERÍODOS DE CUATRO CLASES

Scrolling DURACIÓN: PERÍODOS DE CUATRO CLASES Scrolling Un nuevo paso podemos darlo observando la técnica en el caso de esos juegos en los que los fondos se desplazan a medida que el jugador avanza. Una muestra la puedes ver dentro del propio Pilas,

Más detalles

Tablet Multimedia de 7" para niños Modelo: OxJr+

Tablet Multimedia de 7 para niños Modelo: OxJr+ MANUAL DE INSTRUCCIONES Tablet Multimedia de 7" para niños Modelo: OxJr+ ATENCION: Gracias por elegir esta Tablet de la marca OX. Lea atentamente este manual antes de utilizar este dispositivo y guárdelo

Más detalles

Manual de guía para Clientes Sistema MoTrack

Manual de guía para Clientes Sistema MoTrack Manual de guía para Clientes Sistema MoTrack Contenido 1) introducción 2) Ingresar 3) Principal 4) Mapas 4.1) Mapa de los Móviles 4.2) Mapa de Flota de Móviles 5) Reportes 5.1) Reportes Detallados Reportes

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

GAME MAKER JUEGO DE LABERINTOS

GAME MAKER JUEGO DE LABERINTOS GAME MAKER JUEGO DE LABERINTOS Objetivo El objetivo del juego va a ser el de coger los diamantes que se encuentren en la pantalla para poder pasar a la siguiente. A medida que aumente el nivel del juego,

Más detalles

Colección de Juegos. Pantalla Inicial

Colección de Juegos. Pantalla Inicial Colección de Juegos Vamos a crear una aplicación que contenga un par de juegos diferentes. Empecemos con dos juegos diferentes: Pong y Pintar. Para tener dos juegos diferentes unificados en una aplicación,

Más detalles

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación

Más detalles

Descubrimiento y análisis. Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Reservados todos los derechos.

Descubrimiento y análisis. Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Reservados todos los derechos. Descubrimiento y análisis Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Reservados todos los derechos. Copyright 1993-2015 QlikTech International AB. Reservados todos los derechos. Qlik,

Más detalles

1. Manejo de memoria estática 2. Manejo de memoria dinámica

1. Manejo de memoria estática 2. Manejo de memoria dinámica 1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo

Más detalles

Hilos en Java. Crear un Hilo. Detener un hilo. Fuente: http://www.chuidiang.com/java/hilos/hilos_java.php

Hilos en Java. Crear un Hilo. Detener un hilo. Fuente: http://www.chuidiang.com/java/hilos/hilos_java.php Fuente: http://www.chuidiang.com/java/hilos/hilos_java.php Hilos en Java A veces necesitamos que nuestro programa Java realice varias cosas simultáneamente. Otras veces tiene que realizar una tarea muy

Más detalles

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. Práctica 3 mtp metodoloxía e tecnoloxía da programación Objetivos: Duración: Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. 1 semana 1.- Identificadores Los identificadores

Más detalles

Parsear HTML con htmlparser para Android Guillem Pérez

Parsear HTML con htmlparser para Android Guillem Pérez Parsear HTML con htmlparser para Android Guillem Pérez He escogido esta librería(http://htmlparser.sourceforge.net/) aunque no había muchos ejemplos porque la he visto realmente ligera y esta en java hay

Más detalles

Java nos ofrece la clase Thread y la interfaz Runable que permiten que varios procesos estén funcionando de forma concurrente.

Java nos ofrece la clase Thread y la interfaz Runable que permiten que varios procesos estén funcionando de forma concurrente. Threads (hilos) Java nos ofrece la clase Thread y la interfaz Runable que permiten que varios procesos estén funcionando de forma concurrente. Conceptos: Proceso (thread o hilo): es un programa en ejecución

Más detalles

TP Nº4 Android - SQLite Fecha Miércoles 2014/08/29 Profesor: Pablo Ulman (Polshu)

TP Nº4 Android - SQLite Fecha Miércoles 2014/08/29 Profesor: Pablo Ulman (Polshu) BASES DE DATOS EN ANDROID Soluciones de Almacenamiento de Datos: Shared Preferences: o Datos primitivos privados almacenados con clave/valor Internal Storage: o Almacenamiento interno en la memoria del

Más detalles

Objetivo de aprendizaje del tema

Objetivo de aprendizaje del tema Computación II Tema 3. Identificadores, palabras clave y tipos de datos Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Distinguir i entre modificadores d válidos y no válidos. Enumerar

Más detalles

Guía de instalación del sistema de contafiscal red

Guía de instalación del sistema de contafiscal red Guía de instalación del sistema de contafiscal red Importante!!! Antes de empezar a realizar la instalación, revise los requerimientos de equipo de acuerdo a nuestra guía nª 517 Realizar las siguientes

Más detalles

Tema 2: Diseño de servicios para móviles

Tema 2: Diseño de servicios para móviles Tema 2: Diseño de servicios para móviles Listas y menús 2013-2014 Depto. Ciencia de la Computación e IA Puntos a tratar Spinners Listas Adaptadores Menús de opciones Menús contextuales 2 Spinner Cuadro

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

- Realizar procesamientos adicionales en función del estado de distintos dispositivos, como alocuciones o avisos sonoros.

- Realizar procesamientos adicionales en función del estado de distintos dispositivos, como alocuciones o avisos sonoros. 1. DESCRIPCIÓN DEL SISTEMA CENTRAL El sistema central para New Roulette es un equipo encargado de recopilar la información de todos los dispositivos (maquinas, progresivo y ruleta) con dos propósitos:

Más detalles

Tema 3: Genericidad en Java. Tema 3: Genericidad en Java. Objetivos y Bibliografía. Modelos de Datos Genéricos

Tema 3: Genericidad en Java. Tema 3: Genericidad en Java. Objetivos y Bibliografía. Modelos de Datos Genéricos Tema 3: Genericidad en Java Tema 3: Genericidad en Java Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Índice general: 1. Definición y Ventajas de la

Más detalles

TUTORIAL PRÁCTICO COMPLETO DE BASE DE DATOS EN PHPMYADMIN Y GESTIÓN DESDE DREAMWEAVER

TUTORIAL PRÁCTICO COMPLETO DE BASE DE DATOS EN PHPMYADMIN Y GESTIÓN DESDE DREAMWEAVER TUTORIAL PRÁCTICO COMPLETO DE BASE DE DATOS EN PHPMYADMIN Y GESTIÓN DESDE DREAMWEAVER 1. Crear una nueva base de datos en phpmyadmin Abrimos el wampserver y luego el phpmyadmin Para seguir este tutorial,

Más detalles

1 HILOS (THREADS) EN JAVA

1 HILOS (THREADS) EN JAVA 1 HILOS (THREADS) EN JAVA 1.1QUÉ ES UN THREAD La Máquina Virtual Java (JVM) es un sistema multihilo. Es decir, es capaz de ejecutar varios hilos de ejecución simultáneamente. La JVM gestiona todos los

Más detalles

Programación Gráfica 2D ( IV ) Tilemapping.

Programación Gráfica 2D ( IV ) Tilemapping. Autor: Sergio Hidalgo serhid@wired-weasel.com Introducción Programación Gráfica 2D ( IV ) Tilemapping. Con el último tutorial ya terminé de explicar el funcionamiento de SDL y la programación gráfica en

Más detalles

Ejercicio 18. Configuración de Widgets en Android. Android Con Java. Ejercicio 18. Configuración de Widgets en Android. Curso de Android con Java

Ejercicio 18. Configuración de Widgets en Android. Android Con Java. Ejercicio 18. Configuración de Widgets en Android. Curso de Android con Java Android Con Java Ejercicio 18 Configuración de Widgets en Android Objetivo del Ejercicio El objetivo del ejercicio crear un Widget que antes de utilizarlo nos permita configurarlo. En este caso, solicitar

Más detalles

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría Java en 3 horas Ampliación de Sistemas Operativos Rodrigo Santamaría Generalidades Desarrollado por Sun Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas

Más detalles

INTRODUCCIÓN. Instalación de Xcode

INTRODUCCIÓN. Instalación de Xcode 1 INTRODUCCIÓN Conocer los aspectos básicos de desarrollo en la plataforma ios. Instalación de Xcode 2 Xcode es la herramienta que se udliza para desarrollar aplicaciones para Mac, iphone, ipad y ipod

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java en 2 horas. Rodrigo Santamaría + Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión

Más detalles

TUTORIAL: Cómo puedo instalar el Renault Media Nav Toolbox? TUTORIAL: Cómo puedo crear una "huella digital" del dispositivo en un dispositivo de

TUTORIAL: Cómo puedo instalar el Renault Media Nav Toolbox? TUTORIAL: Cómo puedo crear una huella digital del dispositivo en un dispositivo de TUTORIAL: Cómo puedo instalar el Renault Media Nav Toolbox? TUTORIAL: Cómo puedo crear una "huella digital" del dispositivo en un dispositivo de almacenamiento USB? TUTORIAL: Cómo puedo empezar a utilizar

Más detalles

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA Introducción Qué es programar? Idear y ordenar las acciones necesarias para realizar un proyecto (R.A.E) En nuestro contexto: Resolver problemas, Automatizar

Más detalles

Índice. Acerca de PenReader... 2. Cómo empezar... 2. Ajustes de PenReader... 4. Estándar... 4. Perfiles... 5. Reconocimiento... 6. Registrar...

Índice. Acerca de PenReader... 2. Cómo empezar... 2. Ajustes de PenReader... 4. Estándar... 4. Perfiles... 5. Reconocimiento... 6. Registrar... Índice Acerca de PenReader... 2 Cómo empezar... 2 Ajustes de PenReader... 4 Estándar... 4 Perfiles... 5 Reconocimiento... 6 Registrar... 7 Acerca del programa... 7 Ajustes avanzados de reconocimiento...

Más detalles

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Máquina Expendedora (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Circulo (1.0 pto.)... 3 1.3 Ejercicio

Más detalles

Monitoreo Satelital. Manual del Usuario V.1.1. Geotronik S. A. S.

Monitoreo Satelital. Manual del Usuario V.1.1. Geotronik S. A. S. Monitoreo Satelital Manual del Usuario V.1.1 Geotronik S. A. S. Contenido 1. ACCESO A LA PLATAFORMA AVL... 4 2. INTERFACE... 5 2.1 Barra de Accesos Rápidos... 5 2.2 Barra de Menú... 6 2.3 Barra de Sección...

Más detalles

Programación con AS3. Andrés Pastorini. TRIA Tecnólogo Informático

Programación con AS3. Andrés Pastorini. TRIA Tecnólogo Informático Programación con AS3 Andrés Pastorini TRIA Tecnólogo Informático Sintaxis básica de AS3 Declaración de Variables var x:number; Estructuras de control if-else,for, for each (var i:int in array), for (var

Más detalles

El Power Point es un programa que permite hacer presentaciones y es usado ampliamente en los ámbitos de negocios y educacionales.

El Power Point es un programa que permite hacer presentaciones y es usado ampliamente en los ámbitos de negocios y educacionales. TUTORIAL PARA HACER PRESENTACIONES EN POWER POINT Guía del taller de herramientas de presentación 1) Qué es un Power Point? El Power Point es un programa que permite hacer presentaciones y es usado ampliamente

Más detalles

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para

Más detalles

Manual de la aplicación para terminales móviles AppTUSSAM

Manual de la aplicación para terminales móviles AppTUSSAM Edición: 5ª Página 1 de 13 Fecha: 25-03-2014 Manual de la aplicación para terminales móviles AppTUSSAM Edición: 5ª Página 2 de 13 Fecha: 25-03-2014 PANTALLA PRINCIPAL Tiempos de llegada: para consultar

Más detalles

También añado a la clase Libro los siguientes métodos: (que programaré más adelante)

También añado a la clase Libro los siguientes métodos: (que programaré más adelante) 1.Creación de la capa de negocios La capa del Dominio de Negocios consta de una clase creada a partir de la tabla Libro a la que le he añadido los atributos no persistentes: CodPais, artic y digcontrol.

Más detalles

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) APRENDERAPROGRAMAR.COM INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:

Más detalles

2) Cual modificador limita el acceso a un método de una clase pública a los miembros de la misma clase?

2) Cual modificador limita el acceso a un método de una clase pública a los miembros de la misma clase? PRTIIPNT: MPRS: H: xamen de iagnóstico Programador Java Instrucciones: Lea cada pregunta cuidadosamente y marque la(s) respuesta(s) que sean correctas. 1) ada la siguiente clase: 1. class rrayopy3{ 2.

Más detalles

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Ingeniero en Computación José Alfredo Cobián Campos josealfredocobian@gmail.com Facultad de Ciencias

Más detalles

Descubrimiento y análisis. Qlik Sense 1.0.3 Copyright 1993-2015 QlikTech International AB. Reservados todos los derechos.

Descubrimiento y análisis. Qlik Sense 1.0.3 Copyright 1993-2015 QlikTech International AB. Reservados todos los derechos. Descubrimiento y análisis Qlik Sense 1.0.3 Copyright 1993-2015 QlikTech International AB. Reservados todos los derechos. Copyright 1993-2015 QlikTech International AB. Reservados todos los derechos. Qlik,

Más detalles