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.