Xamarin.Essentials: Sallama Algıla
İvme ölçer sınıfı, cihazın üç boyutlu alanda ivmelendiğini gösteren ivmeölçer sensörünü izlemenizi sağlar. Ayrıca, kullanıcı cihazı salladığında olaylara kaydolmanızı sağlar.
Kullanmaya başlayın
Bu API'yi kullanmaya başlamak için kitaplığın projelerinizde düzgün yüklendiğinden ve ayarlandığından emin olmak için Xamarin.Essentials kullanmaya başlama kılavuzunu okuyun.
Sallama Algılamayı Kullanma
Sınıfınızda için Xamarin.Essentials bir başvuru ekleyin:
using Xamarin.Essentials;
Cihazın sallanması algılanması için hızlandırmadaki değişiklikleri dinlemek ve sallama algılamak için ve Stop
yöntemlerini çağırarak Start
İvme Ölçer işlevini kullanmanız gerekir. Sallama algılandığında bir ShakeDetected
olay tetiklenir. için kullanılması Game
veya daha hızlı kullanılması SensorSpeed
önerilir. Örnek kullanım aşağıda verilmiştir:
public class DetectShakeTest
{
// Set speed delay for monitoring changes.
SensorSpeed speed = SensorSpeed.Game;
public DetectShakeTest()
{
// Register for reading changes, be sure to unsubscribe when finished
Accelerometer.ShakeDetected += Accelerometer_ShakeDetected ;
}
void Accelerometer_ShakeDetected (object sender, EventArgs e)
{
// Process shake event
}
public void ToggleAccelerometer()
{
try
{
if (Accelerometer.IsMonitoring)
Accelerometer.Stop();
else
Accelerometer.Start(speed);
}
catch (FeatureNotSupportedException fnsEx)
{
// Feature not supported on device
}
catch (Exception ex)
{
// Other error has occurred.
}
}
}
Algılayıcı Hızı
- En hızlı – Sensör verilerini mümkün olan en hızlı şekilde alın (UI iş parçacığında döndürüleceği garanti değildir).
- Oyun – Oyunlara uygun fiyat (kullanıcı arabirimi iş parçacığında döndürülmesi garanti değildir).
- Varsayılan – Ekran yönlendirme değişiklikleri için uygun varsayılan hız.
- Ui – Genel kullanıcı arabirimi için uygun oran.
Olay işleyicinizin kullanıcı arabirimi iş parçacığında çalışması garanti değilse ve olay işleyicisinin kullanıcı arabirimi öğelerine erişmesi gerekiyorsa, ui iş parçacığında bu kodu çalıştırmak için yöntemini kullanın MainThread.BeginInvokeOnMainThread
.
Uygulama Ayrıntıları
Sallama algılama API'sinde hızlandırmayı hesaplamak için ivmeölçerden ham okumalar kullanılır. Son ivmeölçer olaylarının 3/4'ünün son yarım saniyede olup olmadığını algılamak için basit bir kuyruk mekanizması kullanır. Hızlandırma, ivmeölçerden X, Y ve Z okumalarının karesi eklenerek ve belirli bir harmanla karşılaştırılarak hesaplanır.
API
İlgili Video
Channel 9 ve YouTube'da daha fazla Xamarin videosu bulun.