El dispositivo móvil permite supervisar el sensor del acelerómetro , que indica la aceleración del dispositivo en un espacio tridimensional.

Lecturas del sensor

Las lecturas del acelerómetro se notifican en G. La G es una unidad de fuerza gravitacional igual a la ejercida por el campo gravitatorio de la Tierra (9,81 m/s^2).

Las lecturas del acelerómetro se notifican en G. La G es una unidad de fuerza gravitacional igual a la ejercida por el campo gravitatorio de la Tierra (9,81 m/s^2).

El eje X es horizontal y apunta a la derecha, el eje Y es vertical y apunta hacia arriba, y el eje Z apunta hacia el exterior de la parte frontal de la pantalla. En este sistema, las coordenadas de detrás de la pantalla tienen valores de Z negativo.

1

Ejemplos:

  • Cuando el dispositivo se encuentra plano sobre una mesa y se mueve desde el lado izquierdo hacia la derecha, el valor de aceleración de X es positivo.
  • Cuando el dispositivo se encuentra plano sobre una mesa, el valor de aceleración es + 1,00 G o (+ 9,81 m/s^2), que corresponden a la aceleración del dispositivo (0 m/s^2) menos la fuerza de la gravedad (- 9,81 m/s^2) y normalizada en G.
  • Cuando el dispositivo se encuentra plano sobre una mesa y se mueve hacia el cielo con una aceleración de A m/s^2, el valor de la aceleración es igual A + 9,81, que corresponde a la aceleración del dispositivo (+ A m/s^2) menos la fuerza de la gravedad (- 9,81 m/s^2) y normalizada en G.

Empezamos Con nuestra aplicación.

Creamos un nuevo proyecto vamos a Archivo -> Nuevo Proyecto -> Cross-Platform y le damos un nombre.

2

 Y seleccionamos las plataformas que vamos a implementar nuestra app.

3

Añadimos los Nuget, abrimos Explorador de soluciones -> botón derecho sobre el proyecto -> administrar paquetes Nuget, Instalamos dos paquetes.

  • Xamarin.Essentials
4

Agregue una referencia a Xamarin.Essentials en cualquier clase de C# para hacer referencia en cualquier clase.

  • using Xamarin.Essentials;

A continuación, modificamos la clase del proyecto de androit MainActy.cs

5

Os dejo el código.

protected override void OnCreate(Bundle savedInstanceState)

        {

            TabLayoutResource = Resource.Layout.Tabbar;

            ToolbarResource = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);

            Xamarin.Essentials.Platform.Init(this, savedInstanceState);

            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);

            LoadApplication(new App());

        }

        public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)

        {

            Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);

            base.OnRequestPermissionsResult(requestCode, permissions, grantResults);

        }

Nos dará algunos errores.

6

Para solucionarlo actualizamos todos los NuGet a la ultima actualización.

7

Nos iremos a MainPage.xaml, en el explorador de soluciones de la derecha.

8

Modificaremos el código de esta forma con un AbsoluteLayuot y un label.

9

Y nos aparecerá de la siguiente manera.

10

Crearemos el código en la página de MainPage.xaml.cs.

11
  • Hacemos el using Xamarin.Essentials;
12
  • Creamos un constructor para inicializar nuestros métodos.
13
  • Método para detectar las sacudidas.
14
  • Método para leer los datos del sensor
  • Parte 1.
15
  • Parte 2.
16
  • Parte 3.
17

Compilar y Ejecutar en un Móvil, por el sensor este sería el resultado.

18
19
20
21

Y eso sería todo amigos. Ánimo y no desesperéis.

Un saludo y muchas gracias.

Autor/a: Rubén Blázquez Camacho.

Curso: Microsoft MCSA Web Applications + Microsoft MCSD App Builder + Xamarin.

Centro: Tajamar.

Año académico: 2018-2019

Enlace a GitHub: Aplicación de Xamarin

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.