
El hardware de los dispositivos móviles modernos contiene sensores capaces de recopilar mucha información relacionada con el entorno y el dispositivo. Entre esa información, podemos encontrar:
Esa información se puede utilizar para implementar aplicaciones móviles que requieran rastrear la posición o para entregar información específica sobre la velocidad, el rumbo de la brújula, la aceleración. Como ejemplo, quiero mencionar las aplicaciones más utilizadas de este tipo: las aplicaciones de navegación que usamos todos los días cuando manejamos o caminamos. Esas aplicaciones suelen utilizar el posicionamiento GPS y el rumbo de la brújula para proporcionar direcciones en los mapas. Algunas aplicaciones más avanzadas pueden proporcionar información adicional que es muy útil para las actividades de senderismo: por ejemplo, la altitud y la presión barométrica para respaldar el pronóstico del tiempo.
SAP Build Apps facilita el acceso a toda esa información de las aplicaciones que está desarrollando, lo que le permite crear su propia aplicación de navegación o pronóstico del tiempo.
En este artículo, explicaré cómo la información recopilada de los sensores de dispositivos móviles se puede leer y usar dentro de SAP Build Apps.
En primer lugar, veamos cuál es la información a la que se puede acceder: en la actualidad, SAP Build Apps proporciona un soporte listo para usar para:
Dentro de SAP Build Apps, esa información se guarda en un conjunto dedicado de variables (el sensorVars) al que se puede acceder desde sus aplicaciones simplemente usando enlaces de fórmula.
Por ejemplo, parte de la información de posicionamiento GPS está disponible en las siguientes variables:
Se puede encontrar una documentación detallada sobre las variables del sensor y las funciones del sensor. en la documentación oficial.
El contenido de sensorVars Las variables no se actualizan automáticamente: cuando necesita usar los datos del sensor, debe invocar una función que le pide al dispositivo móvil que lea del sensor. Después de hacer eso, la función pone a disposición la información requerida en el sensorVars variables
Hay dos formas de actualizar el sensorVars variable: la lectura únicacuando solo necesita recopilar un solo valor de un sensor y el sondeo continuo, cuando necesite recibir de forma continua y en tiempo real los valores actualizados. En este último caso, también puede conservar la historia de los últimos valores leídos, decidiendo cuántos valores desea conservar.
Exploremos juntos las capacidades de lectura del sensor de SAP Build Apps, implementando una aplicación real que puede ejecutar en su teléfono móvil.
En primer lugar, debemos crear una nueva aplicación móvil desde el Lobby.
En esta aplicación, solo queremos leer una vez los datos de posicionamiento GPS y mostrarlos en la página de inicio. Eliminemos las líneas de texto predeterminadas y agreguemos un botón llamado «Obtener posición GPS»:
Como de costumbre, añadimos la lógica asociada al botón, en este caso simplemente arrastrando y soltando el ubicación gps componente:
Después de iniciar la aplicación, cada vez que se hace clic en el botón, el GPS relacionado sensorVars se actualizan una vez.
Mostremos la información recopilada: necesitamos agregar a nuestra aplicación algunos componentes de texto para mostrar la información del GPS, disponible en el sensorVars después de hacer clic en el botón. Se puede agregar un componente de texto para mostrar la latitud al lienzo y vincularlo a la siguiente función:
"GPS Latitude: " + sensorVars.geolocation.latestValue.latitude
Y podemos agregar dos componentes de texto adicionales para Longitud y Altitud:
"GPS Longitude: " + sensorVars.geolocation.latestValue.longitude
"GPS Altitude: " + sensorVars.geolocation.latestValue.altitude
Ahora podemos probar la aplicación en nuestro dispositivo móvil: necesitamos instalar en nuestro dispositivo la aplicación SAP Build, disponible en Play Store y Apple Store y luego podemos abrir el LANZAMIENTO sección de su entorno SAP Build Apps, haga clic en Obtenga una vista previa de su aplicación, genere un código PIN desde la aplicación SAP Build App en el dispositivo móvil y escriba el código debajo del Vista previa en la sección de su dispositivo.
Después de hacer eso, podemos iniciar la vista previa de la aplicación en su dispositivo móvil y, después de hacer clic en el botón, podemos leer la información de posicionamiento GPS en nuestra página de inicio:
Este es un buen punto de partida, pero probablemente el escenario más interesante es cuando queremos usar la información del sensor que se actualiza en tiempo real. Para implementar esas capacidades, necesitamos instalar componentes adicionales del mercado. Los componentes requeridos se pueden encontrar simplemente buscando «sondeo» en Marketplace:
Para la aplicación de demostración que me gustaría implementar, necesitamos instalar el Empezar a sondear y Dejar de sondear componentes para GPS, brújula y barómetro.
Después de crear una nueva aplicación e instalar esos componentes, agregamos al lienzo dos botones: Empezar a sondear y Dejar de sondear.
La lógica para el Empezar a sondear El botón se puede definir arrastrando y soltando todos los instalados Empezar a sondear componentes en el lienzo, vinculándolos al Grifo de componente evento:
Tenga en cuenta que cada Empezar a sondear El componente tiene algunas propiedades que se pueden configurar en el panel del lado derecho de la pantalla. En particular, podemos definir la frecuencia de actualización y el tamaño del historial. Dependiendo del sensor, algunas otras propiedades configurables pueden estar disponibles. A los efectos de esta explicación, podemos mantener los valores predeterminados.
La lógica para el Dejar de sondear El botón es muy similar: solo necesitamos usar el botón Dejar de sondear componentes en lugar de los Comenzar unos.
Y ahora podemos agregar a su aplicación algunos componentes de texto para mostrar la información del sensor, como lo hicimos antes. Podemos usar las mismas fórmulas que antes para la información de ubicación del GPS. Para el encabezado de la brújula, debemos agregar un componente de texto y vincularlo a la fórmula:
"Compass heaading: " + ROUND(sensorVars.compass.latestValue.heading)
Y para la presión atmosférica:
"Barometer pressure: " + sensorVars.barometer.latestValue.pressure + " mbar"
Nuestra aplicación está lista para ser probada: podemos iniciar la vista previa en su dispositivo móvil, como se describe anteriormente.
Tan pronto como iniciamos la aplicación, podemos ver que los componentes de Texto no pueden mostrar ninguna información. Pero cuando hacemos clic en el botón Iniciar sondeo, comienzan a mostrar la información esperada y esa información se actualiza dinámicamente: solo con moverse, apuntar el dispositivo en diferentes direcciones y subirlo y bajarlo, hace que la información mostrada cambie en tiempo real.
Y cuando hacemos clic en el Dejar de sondear botón, la información deja de actualizarse.
Con estos ejemplos simples, demostré cómo la información del sensor del dispositivo móvil se puede solicitar una vez o continuamente y cómo las medidas relacionadas se pueden leer desde sensorVars utilizando en su aplicación un enlace de fórmula.
Ahora que ha aprendido los aspectos básicos del acceso a la información del sensor, puede explorar todas las funciones disponibles y luego puede comenzar a implementar aplicaciones que usan la información del sensor para brindar una experiencia de usuario avanzada.
¡Y eso es todo por hoy! Ahora puede continuar siguiendo la página del tema del entorno SAP Build Apps (https://community.sap.com/topics/build-apps), publicar y responder preguntas (https://answers.sap.com/tags/6cfd8176-04ae-4548-8f38-158456e1a47a), y leer otras publicaciones sobre el tema (https://blogs.sap.com/tags/6cfd8176-04ae-4548-8f38-158456e1a47a/).
¡Diviértete con SAP Build Apps! Y continúe siguiendo mi perfil para nuevos blogs y déjeme sus comentarios.
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073