2016-07-07 2 views
0

Я пытаюсь получить данные магнитного поля для приложения кроссплатформы, разработанного xamarin. Я довольно новичок в мобильной разработке, особенно Xamarin. Поэтому у меня есть код Hello Word:Как получить значения магнитометра с помощью xamarin с помощью плагина движка устройства?

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!" 
         } 
        } 
       } 

      }; 


     } 

И я хочу, чтобы отобразить 3 координат значения magnetometre на первой странице.

Устройство Motion Plugin - это мультиплатформенный плагин, у меня также есть этот код, но я не знаю, как это сделать, чтобы отображать эти значения в приложении.

 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; 

      } 
     }; 

ответ

0

Для того, чтобы это работало, необходимо установить атрибут наклейки x:Name. Я использую акселерометр, поэтому меня зовут accelerometerLog.

Тогда из вашего кода вы можете сделать следующее:

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