2016-07-07 20 views
0

Ich versuche, die Magnetfelddaten für eine von xamarin entwickelte Kreuzplattenanwendung zu bekommen. Ich bin ziemlich Anfänger mit der mobilen Entwicklung besonders Xamarin. So habe ich das Hallo Word-Code:Wie kann ich Magnetometerwerte mit Xamarin mit dem Device Motion Plugin erhalten?

public App() 
     { 
      // The root page of your application 
       MainPage = new ContentPage { 

      Content = new StackLayout {   
        VerticalOptions = LayoutOptions.Center, 
        Children = { 
         new Label { 

          XAlign = TextAlignment.Center, 
         Text = "Welcome to Xamarin Forms!" 
         } 
        } 
       } 

      }; 


     } 

Und ich möchte 3 Werte der magnetometre auf der ersten Seite Koordinate anzuzeigen.

Device Motion Plugin ist ein Multiplattform-Plugin, ich habe auch diesen Code, aber ich weiß nicht, wie man diese Werte in der Anwendung anzeigt.

 CrossDeviceMotion.Current.Start(MotionSensorType.Magnetometer); 
     CrossDeviceMotion.Current.SensorValueChanged += (s, a) => 
     { 

      switch (a.SensorType) 
      { 

       case MotionSensorType.Magnetometer: 
        Debug.WriteLine("A: {0},{1},{2}", ((MotionVector)a.Value).X, ((MotionVector)a.Value).Y, ((MotionVector)a.Value).Z); 

        break; 

      } 
     }; 

Antwort

0

Damit dies, Sie arbeiten müssen das x:Name Attribut Ihres Etiketts einzustellen. Ich habe den Beschleunigungsmesser verwendet, daher ist mein Name accelerometerLog.

Dann aus dem Code Sie folgendes tun:

accelerometerLog.Text = String.Format(
    "X:{0} Y:{1} Z:{2}", 
    ((MotionVector)a.Value).X, 
    ((MotionVector)a.Value).Y, 
    ((MotionVector)a.Value).Z 
);