Windows Mobile 5.0 Managed Kodkullanan uygulama geliştiriciler için birçok yenilikle birlikte sahneye çıktı.Bunlardan en önemlisi bir önceki sürümlerinde bulunmayan ve Managed Kodkullanan uygulama geliştiricilerin hayatını önemli derecede kolaylaştıranManaged API’ ler olarak söylenebilir. Bu makale serimizde bu API’ leriniçerilerinde bulunan sınıfları tek tek inceleyerek küçük, anlaşılır ve faydalıörnekler geliştireceğiz. İlk olarak Microsoft.WindowsMobile.Telephony API’ siiçerisinde bulunan tek Class (Sınıf) olan Phone sınıfını bu makalemizdeinceleyerek anlaşılır bir uygulama geliştireceğiz.
NameSpace içerisinde bulunan teksınıf olarak yapısı incelendiğinde sistemin çokta karmaşık olmadığı kolaycaanlaşılabilmektedir.
Bu API içerisinde bulunan Phonesınıfının Talk metodunu kullanarak uygulama geliştiriciler kendi uygulamalarıiçerisinden Mobil Cihazları üzerinden verilen “Telefon Numarasına” aramalaryaptırarak uygulamalarının kullanılabilirliliğini arttırabilirler. Bu noktadaörnek bir uygulama geliştirmek konunun anlaşılabilirliği açısından daha faydalıolacaktır.
Örneğe başlamadan önce birtakım uyarılarda bulunmak yerindeolacaktır. Makale serisi, Windows Mobile 5.0 işletim sistemine sahip Pocket PCCihazları üzerinde çalıştırılacak şekilde yazılacaktır. Dolayısıyla sisteminizüzerinde bu işletim sistemi ile ilgili gerekli Uygulama Geliştirme Kit (SDK) ‘inin yüklü olması gerekmektedir.
Windows Mobile 5.0 SDK For Pocket PC Phone Edition yüklemedosyasını adresinden indirip sisteminize kurduktan VS.NET 2005 üzerine degerekli eklentiler yüklenmektedir. Bu eklentilerin yüklenmesigerçekleştirildikten sonra VS.NET 2005 üzerinde New Project – Visual C# - SmartDevice – Windows Mobile 5.0 Pocket PC seçeneği altından yeni bir DeviceApplication projesi açarak işe başlayalım.
Uygulama ekranını tasarlamadan önce Projemize ilgili APIreferansını ekliyoruz.
Uygulama ekranına şekildeki kontrolleri ekleyerek örneğimizedevam ediyoruz.
Form üzerine arama yapılacak numaranın girilebilmesi içinbir Metin Kutusu (txtNUMARA) ve arama işlemini tetikletmekten görevli birButton (btnARA) yerleştirdik. Bu noktadan sonra “Numarayı Çevir” button’ unabasıldığı zaman aşağıdaki kod bloğunun çalışmasını sağlamak :
Kod’ a genel hatlarıyla bakıldığı zaman Phone sınıfınınGlobal bir referansını tanımladıktan sonra Uygulamanın Form’ u yüklendiği zamanSınıf’ ın instance’ını oluşturduk. Ve bir sonraki adımda Button’ atıklandığında yakalanan metot içerisinde Phone sınıfının instance’ ı üzerindenTalk() metodunu çalıştırdık. Metodun parametrelerine bakıldığında yapının çoktakarmaşık olmadığını rahatlıkla anlayabiliriz.
Metot uygulama geliştiriciden iki adet parametreistemektedir. Birincisi Arama Yapılacak Telefonun numarası, bir diğeri isearama işlemi gerçekleştirilemek istenildiğinde İşletim Sistemi tarafındanTelefon’ un ekranında konu ile ilgili “Onaylama” notifikasyonunun çıkıpçıkmayacağı ile ilgili bool tipinde bir değişkendir. İki parametre değerinigirdikten sonra Arama işlemi başarıyla başlatılacaktır.
Bu noktadan sonra yapılması gereken tek şey uygulamayıemülatörümüz üzerinden çalıştırmak olacaktır. Bu noktada önemli bir uyarıyıatlamak uygulamamızın çalışmamasına sebep olacaktır. Geliştirdiğimiz uygulamaMantık çerçevesinde düşünüldüğünde telefon özelliği barındıran cihazlardaçalışacak şekilde tasarlanmıştır. Dolayısıyla çalıştıracak olduğumuz emülatörünböyle bir özelliğinin olması gerekmektedir. Emülatörler ile ilgili önümüzeçıkan listede “Microsoft Windows Mobile 5.0 Pocket PC Phone Edition” seçeneğiniseçerek Telefon özellikli bir emülatörü kullanmak istediğimizi belirtiyoruz.Peki emülatör üzerinden aramalar nasıl gerçekleştirilecek ? Bu noktadaEmülatörlerin uygulama geliştiricileri cevapsız bırakmadığını rahatlıklagörebilirsiniz. Uygulamayı çalıştırdığınız zaman sanki Fiziksel bir cihazüzerinde arama yapıyormuşsunuz gibi Emülatör verilen numarayı arayacaktır. OK’e tıklayarak uygulamayı Emülatör üzerine Deploy ediyoruz ve çalıştırıyoruz.
Şekilde görüldüğü üzere Button’ a basıldığı süreçte ekranüzerinde aramanın onaylanıp onaylanmadığını soran bir notifikasyon kutusuçıkmaktadır. Bu noktada işlem onaylandıktan sonra arama işlemi başarıylabaşlatılmaktadır.
Bu makalemizde Microsoft.WindowsMobile.Telephony APIiçerisindeki Phone sınıfını kullanarak Uygulamamız üzerinden bir arama işleminitetikledik. Bir başka makalede görüşmek üzere.