Cada vez que usamos una pantalla de una App y hacemos clic en un botón/elemento para asignarle unas acciones específicas que ejecutar, nos aparece un botón con el texto: COMPOSITOR.
El compositor aparece cada vez que utilizamos acciones específicas como las de la siguiente imagen:
Ahora vamos a ver qué es un compositor y cómo se puede usar.
COMPOSITOR EN UN VISOR DE DATOS:
Si estamos en una pantalla tipo Visor de Datos y queremos usar una de las acciones listadas anteriormente, podremos usar el compositor para definir el destino de una acción.
Hacemos ahora un ejemplo práctico para ver cómo usarlo:
1. Primero vamos a crear una Base de Datos dentro de una pantalla Visor de Datos.
En esta base de datos pondremos 6 columnas que contengan información que queremos mostrar en nuestra app.
2. Ahora vamos a crear 2 vistas (una tipo Lista y otra tipo Detalles, para ver los detalles de cada elemento de la lista de elementos que queremos mostrar).
3. Imaginemos que tenemos una lista de ciudades para crear un guía turística.
En la primera vista, LISTA, pondremos la lista de ciudades que queremos mostrar, para que el usuario elija después los detalles que quiere ver de cada ciudad.
Entonces asignaremos al elemento [cities] (que hace referencia al campo texto de la base de datos) la acción: abrir vista: detail_1, para que al hacer clic en el botón se abra la vista con los detalles de cada ciudad.
4. En la vista DETALLE pondremos los elementos (detalles) de las ciudades y arrastraremos en la vista los elementos dinámicos en rosa :Images, Cities y unos elementos estáticos (iconos) para ejecutar unas acciones.
5. Ahora vamos a asignar a cada icono una acción que requiera el uso del compositor:
A) Icono Web: Queremos que al hacer clic en este icono el usuario pueda ver unas páginas webs relacionadas, por ejemplo que contengan un guía de la ciudad.
Para que al pulsar este icono se abran las URLs que tenemos en nuestra base de datos (en el campo [URLweb]), tenemos que asignarle la acción: Ir a url y como destino vamos a abrir el compositor.
El compositor contiene todos los campos de todas las bases de datos creadas en la app. Así que podamos elegir directamente desde el compositor el campo de una BD que queremos enseñar, compartir, abrir, llamar etc, simplemente seleccionándolo desde el compositor.
En nuestro ejemplo, al hacer clic en el compositor aparece una lista de campos:
Nota: esta app de ejemplo contiene varias BBDD aunque estamos enseñando sólo una (la que se llama “Base de Datos”).
Podemos ver que en la lista del compositor tenemos un campo entre paréntesis como este: (Base de Datos.URL web)
Base de Datos -> es el nombre de la base de datos que estamos usando. (Si queremos mostrar un campo de otra base de datos ya creada, tendremos que elegir otro nombre)
URL web -> es el nombre del campo que queremos mostrar (o sea el campo/columna de la BD que contiene las web urls).
En este ejemplo pedimos al botón de abrir la URL de este campo, relacionada a la ciudad de la que estamos visualizando los detalles.
B) Icono Localización: en este ejemplo queremos que al hacer clic en el segundo icono, nos enseñe en un mapa la ruta desde nuestra posición actual hacía el punto de interés que hay en la base de datos.
Asignamos entonces al icono la acción: Ruta y como destino hacemos clic en el compositor.
En la lista del compositor tenemos un campo entre paréntesis como este:
(Base de Datos.Localización)
Base de Datos -> como ya dicho anteriormente, es el nombre de la base de datos que estamos usando.
Localización -> es el nombre del campo que contiene las coordenadas en nuestra BD que queremos enseñar.
En este ejemplo pedimos al botón de enseñarnos la ruta desde nuestra posición hacía el punto de interés (coordenadas de la BD de una ciudad).
C) Icono Teléfono: en este ejemplo queremos que al hacer clic en el tercer icono, el usuario pueda llamar a un número de teléfono ya indicado en nuestra base de datos.
Asignamos entonces al icono la acción: Llamar y como destino hacemos clic en el compositor.
En la lista del compositor tenemos un campo entre paréntesis como este:
(Base de Datos.Telephone)
Base de Datos -> nombre de la base de datos que estamos usando.
Telephone -> es el nombre del campo que contiene los números de teléfono en nuestra BD.
D) Icono Audio : en este ejemplo queremos que al hacer clic en el cuarto icono, se pueda reproducir un audio de una guía turística en formato mp3 (que hay en la base de datos) usando la acción PLAY.
Asignamos entonces al icono la acción: Play y como destino hacemos clic en el compositor.
En la lista del compositor tenemos un campo entre paréntesis como este:
(Base de Datos.Audio)
Base de Datos -> el nombre de la base de datos que estamos usando.
Audio -> es el nombre del campo, en formato audio, que contiene los archivos audio en nuestra BD.
E) Icono Compartir : en este ejemplo queremos que al hacer clic en el quinto icono, se pueda compartir una web URL (que hay en la base de datos) usando la acción COMPARTIR.
Asignamos entonces al icono la acción: Compartir y como destino hacemos clic en el compositor.
En la lista del compositor tenemos un campo entre paréntesis como este:
(Base de Datos.URLweb)
Base de Datos -> el nombre de la base de datos que estamos usando.
URLweb -> es el nombre del campo, en formato texto, que contiene las url web en nuestra BD.
NOTA: como ya dicho anteriormente, si tenemos más BBDD, en el compositor nos saldrán todos los campos de cada base de datos y podremos usarlos, aunque estamos en otro visor de datos con una BD diferente (Base de datos relacionares).
VARIABLES
Una otra funcionalidad disponible ahora son las variables que podemos encontrar directamente dentro del Compositor de un Visor de Datos.
Si deslizamos la lista de elementos del Compositor hacías abajo, veremos una lista de variables globales destinadas a que el desarrollador pueda personalizar y analizar la actividad de sus usuarios.
Para ver la lista de variables que es posible usar, haz clic aquí
COMPOSITOR EN PANTALLA DETALLES
Todo lo comentado anteriormente puede ser aplicado también a una pantalla tipo Detalle.
Ahora es posible usar/llamar campos de BBDD también en otras pantallas que no sean visores de datos.
Veamos un ejemplo práctico:
Tenemos creada en el siguiente ejemplo una pantalla tipo DETALLE con una barra de menú abajo y un elemento texto en el centro.
Si ahora queremos que este elemento texto se convierta en un botón que ejecute una acción conectada a un campo de la base de datos, sólo nos falta asignarle la acción que queremos se ejecute y elegir desde el compositor el campo de la base de datos que queremos llamar.
En este ejemplo queremos que, al hacer clic en el botón/texto, el usuario pueda compartir una imagen de una de las base de datos que tenemos creadas.
Asignamos entonces al texto la acción: Compartir y como destino hacemos clic en el compositor.
En la lista del compositor tenemos un campo entre paréntesis como este:
(Base de Datos.Images)
Base de Datos -> el nombre de la base de datos que estamos usando.
Si por ejemplo tenemos una segunda base de datos que se llama “Cities” tendríamos también este campo en el compositor: (Cities.Images).
Images -> es el nombre del campo, en formato imagen local, que contiene las fotos en nuestra base de datos.
Nota: Podremos hacer lo mismo con otras acciones, apuntando a otros campos de las BBDD creadas.
ACCIONES SET Y REQUEST
Una novedad que tiene Mobincube, para uso exclusivo de desarrolladores avanzados, son las acciones SET y REQUEST.
La acción SET sirve para asignar valores a variables.
SET puede ser var. o cookie.
Si es var. -> el valor de la variable se borrará al cerrar el app.
Si es cookie. -> el valor de la variable se guardará aunque el app se cierre. Nota: Pero no se guardará el valor si desinstalas el app del dispositivo.
Ejemplos de SET:
SET {var.nombre}=oscar
SET {cookie.nombre}=oscar
Con Base de Datos:
SET (Column1)=25
SET (Column1)={var.edad}
* No pongas espacios antes o después del símbolo igual.
La acción REQUEST sirve para recibir y enviar datos a un servidor
Un ejemplo de REQUEST que insertar en el destino de la acción será el siguiente:
-- "url":"http://www.mobimento.com/~rquin/request.txt"
Debe contener una URL y un archivo válido.
-- "params":[{"paramKey":"paramDeviceInfo","paramValue":"{deviceInfo}"
Indica los parámetros y valores que serán ENVIADOS al servidor
--
"resultMessageVariable":"var.requestResultMessage","resultCodeVariable":"var.requestResultCode"
Permite guardar los mensajes mostrados por el servidor al hacer el request en variables del app.
COMPOSITOR EN LOS FILTROS DINÁMICOS
Para ver como funciona el compositor en los Filtros Dinámicos, véase el artículo relacionado: Filtros dinámicos y base de datos relacionales.