Makale Özeti

Windows Mobile 5.0 Managed Kod kullanan uygulama geliştiriciler için birçok yenilikle birlikte sahneye çıktı. Bu makale serimizde Microsoft.WindowsMobile NameSpace’ i içerisindeki sınıfları tek tek örnekler üzerinden inceleyeceğiz. İlk durağımız Microsoft.WindowsMobile.Telephony içerisinde bulunan Phone sınıfı.

Makale

Windows Mobile 5.0 Managed Kod kullanan uygulama geliştiriciler için birçok yenilikle birlikte sahneye çıktı. Bunlardan en önemlisi bir önceki sürümlerinde bulunmayan ve Managed Kod kullanan uygulama geliştiricilerin hayatını önemli derecede kolaylaştıran Managed API’ ler olarak söylenebilir. Bu makale serimizde bu API’ lerin iç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’ si içerisinde bulunan tek Class (Sınıf) olan Phone sınıfını bu makalemizde inceleyerek anlaşılır bir uygulama geliştireceğiz.

NameSpace içerisinde bulunan tek sınıf olarak yapısı incelendiğinde sistemin çokta karmaşık olmadığı kolayca anlaşılabilmektedir.

Bu API içerisinde bulunan Phone sınıfının Talk metodunu kullanarak uygulama geliştiriciler kendi uygulamaları içerisinden Mobil Cihazları üzerinden verilen “Telefon Numarasına” aramalar yaptı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 yerinde olacaktır. Makale serisi, Windows Mobile 5.0 işletim sistemine sahip Pocket PC Cihazları ü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ükleme dosyasını adresinden indirip sisteminize kurduktan VS.NET 2005 üzerine de gerekli eklentiler yüklenmektedir. Bu eklentilerin yüklenmesi gerçekleştirildikten sonra VS.NET 2005 üzerinde New Project – Visual C# - Smart Device – Windows Mobile 5.0 Pocket PC seçeneği altından yeni bir Device Application projesi açarak işe başlayalım.

Uygulama ekranını tasarlamadan önce Projemize ilgili API referansını ekliyoruz.

Uygulama ekranına şekildeki kontrolleri ekleyerek örneğimize devam ediyoruz.

Form üzerine arama yapılacak numaranın girilebilmesi için bir Metin Kutusu (txtNUMARA) ve arama işlemini tetikletmekten görevli bir Button (btnARA) yerleştirdik. Bu noktadan sonra “Numarayı Çevir” button’ una bası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ın Global bir referansını tanımladıktan sonra Uygulamanın Form’ u yüklendiği zaman Sınıf’ ın instance’ını oluşturduk. Ve bir sonraki adımda Button’ a tıklandığında yakalanan metot içerisinde Phone sınıfının instance’ ı üzerinden Talk() metodunu çalıştırdık. Metodun parametrelerine bakıldığında yapının çokta karmaşık olmadığını rahatlıkla anlayabiliriz.

Metot uygulama geliştiriciden iki adet parametre istemektedir. Birincisi Arama Yapılacak Telefonun numarası, bir diğeri ise arama işlemi gerçekleştirilemek istenildiğinde İşletim Sistemi tarafından Telefon’ un ekranında konu ile ilgili “Onaylama” notifikasyonunun çıkıp çıkmayacağı ile ilgili bool tipinde bir değişkendir. İki parametre değerini girdikten 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 uygulama Mantı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ün bö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ğini seçerek Telefon özellikli bir emülatörü kullanmak istediğimizi belirtiyoruz. Peki emülatör üzerinden aramalar nasıl gerçekleştirilecek ? Bu noktada Emülatörlerin uygulama geliştiricileri cevapsız bırakmadığını rahatlıkla gö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ıyla başlatılmaktadır.

Bu makalemizde Microsoft.WindowsMobile.Telephony API içerisindeki Phone sınıfını kullanarak Uygulamamız üzerinden bir arama işlemini tetikledik. Bir başka makalede görüşmek üzere.


Ekin ÖZÇİÇEKÇİLER
Microsoft Certified Trainer
ekin.ozcicekciler@bilgeadam.com
MCP, MCAD.NET, MCSD.NET, MCSD.NET, MCTS, MCPD Ent.