Xamarin.Essentials: 기압계Xamarin.Essentials: Barometer

Barometer 클래스를 사용하면 압력을 측정하는 장치의 기압계 센서를 모니터링할 수 있습니다.The Barometer class lets you monitor the device's barometer sensor, which measures pressure.

시작Get started

이 API를 사용하기 전에 라이브러리가 제대로 설치되고 프로젝트에 설정되어 있는지 확인하기 위해 Xamarin.Essentials에 대한 시작 가이드를 읽어보세요.To start using this API, read the getting started guide for Xamarin.Essentials to ensure the library is properly installed and set up in your projects.

Barometer 사용Using Barometer

클래스에서 Xamarin.Essentials에 대한 참조를 추가합니다.Add a reference to Xamarin.Essentials in your class:

using Xamarin.Essentials;

Barometer 기능은 기압계의 압력 판독값(헥토파스칼 단위) 변경 내용을 수신 대기하기 위해 StartStop 메서드를 호출하여 작동합니다.The Barometer functionality works by calling the Start and Stop methods to listen for changes to the barometer's pressure reading in hectopascals. ReadingChanged 이벤트를 통해 변경 내용을 다시 전송합니다.Any changes are sent back through the ReadingChanged event. 샘플은 다음과 같이 사용합니다.Here is sample usage:


public class BarometerTest
{
    // Set speed delay for monitoring changes.
    SensorSpeed speed = SensorSpeed.UI;

    public BarometerTest()
    {
        // Register for reading changes.
        Barometer.ReadingChanged += Barometer_ReadingChanged;
    }

    void Barometer_ReadingChanged(object sender, BarometerChangedEventArgs e)
    {
        var data = e.Reading;
        // Process Pressure
        Console.WriteLine($"Reading: Pressure: {data.PressureInHectopascals} hectopascals");
    }

    public void ToggleBarometer()
    {
        try
        {
            if (Barometer.IsMonitoring)
              Barometer.Stop();
            else
              Barometer.Start(speed);
        }
        catch (FeatureNotSupportedException fnsEx)
        {
            // Feature not supported on device
        }
        catch (Exception ex)
        {
            // Other error has occurred.
        }
    }
}

센서 속도Sensor Speed

  • 가장 빠름 – 센서 데이터를 가장 빠르게 가져옵니다(UI 스레드에 반환이 보장되지 않음).Fastest – Get the sensor data as fast as possible (not guaranteed to return on UI thread).
  • 게임 – 게임에 적합한 속도(UI 스레드에 반환이 보장되지 않음).Game – Rate suitable for games (not guaranteed to return on UI thread).
  • 일반 - 화면 방향 변경에 적합한 기본 속도입니다.Normal – Default rate suitable for screen orientation changes.
  • UI - 일반 사용자 인터페이스에 적합한 속도입니다.UI – Rate suitable for general user interface.

이벤트 처리기가 UI 스레드에서 실행하도록 보장되지 않고 사용자 인터페이스 요소에 액세스해야 하는 경우 MainThread.BeginInvokeOnMainThread 메서드를 사용하여 UI 스레드에서 해당 코드를 실행하세요.If your event handler is not guaranteed to run on the UI thread, and if the event handler needs to access user-interface elements, use the MainThread.BeginInvokeOnMainThread method to run that code on the UI thread.

플랫폼 구현 관련 정보Platform Implementation Specifics

플랫폼 특정 구현 세부 정보는 없습니다.No platform-specific implementation details.

APIAPI