Xamarin.Forms ile Connectivity Plugin Kullanımı

Merhaba,

Son günlerde Xamarin.Forms pluginleri üzerinde fazlaca duruyorum çünkü kendi plugin makale serimizi başlattık ve XF üzerinde yazılmış başka pluginleri de tanımamız gerektiğini düşünüyorum.

Bu makalemizde linkteki James Montemagno'nun yazdığı Connectivity plugin'i tanıtıp nasıl kullanacağımızı inceleyeceğiz.

Yeni bir PCL projesi açtıktan sonra ilk işim Connectivity plugin'i nuget yardımı ile projeme eklemek olacak.

Insert Plugin

Plugin'i başarılı bir şekilde projemize ekledikten sonra hemen kod yazmaya başlayabiliriz.

İlk işimiz uygulamamız açıldığında cihazın interneti var mı yok mu bunu kontrol etmek.

Yeni bir sayfa eklemeden App.cs içerisinde yeni bir button ve label ekleyerek devam ediyorum.

İşimize yarayacak olan tüm metot ve propertyler CrossConnectivity class'ı içerisinde olduğu için direkt kullanabiliyoruz. CrossConnectivity.Current.IsConnected eğer internet bağlantımız varsa true yoksa false döndüren property

Checkt Internet Connection

Senaryomuz butona bastığımda CrossConnectivity plugin'i yardımı ile gidip cihazımın interneti var mı yok mu kontrol etmek ve sonucunu ekrana yazdırmak.

Connected

Wifi bağlantım açık olduğu için Connected sonucunu aldım. Şimdi Wifi bağlantısını kapatık tekrar deneyelim.

NoConnection

Gördüğümüz gibi anlık olarak connection kontrol yapabiliyoruz.

Plugin içerisinde işimize yarayabilecek birçok özellik var bunları inceleyelim..

  1. CrossConnectivity.Current.Bandwidths ile ne kadar internet kullandığınızı ölümleyebilirsiniz.
  2. CrossConnectivity.Current.ConnectionTypes ile bağlantı tipinizi görebilirsiniz. (Wifi, 3G, 4.5G gibi..)
  3. CrossConnectivity.Current.IsReachable ile verdiğiniz bir ip veya url'in ulaşılabilir olup olmadığını kontrol edebilirsiniz.

Gayet kullanışlı ve size zaman kazandırabilecek bir plugin. Kullandığım projelerde herhangi bir problem yaşamadığım için rahat bir şekilde önerebilirim 🙂

Not: Drod için ACCESS_NETWORK_STATE & ACCESS_WIFI_STATE izinlerine ihtiyacınız var.

Final

Kaynak kodları github üzerinden indirebilirsiniz.

Görüşmek üzere.

Yiğit

Xamarin Developer, Consultant & Architect. Community Leader and Director of Xamarin Türkiye

Post A Reply