Archive for the ‘Mobil Uygulamalar’ Category
Introduction to Mobile Application Development
Merhaba arkadaslar, bu makalemde sizlere .NET Compact Framework ve Mobile programlamayı anlatacağım. Örneklerde tahmin edeceğiniz üzere C# kullanacağım. VB’ciler için VB.NET ile de anlatmak isterdim ama VB’ye bir türlü ısınamadım. C# olduğu sürecede ısınabileceğimi pek düşünmüyorum.
Bildiğiniz üzere ülkemizde bilgisayardan çok cep telefonu kullanılmaktadır. Hazır önümüz 3G ve 4G iken mobile programlamada gelişen telefonlarla beraber popüler olacaktır. Bence Türkiye mobile yazılım alanda atılımlar yapmak için güzel bir yer ve şuan sektöründe bu atılımlara ihtiyacı var.
Kısaca şöyle bir mutfağamıza bakacak olursak;
Elimizde bir adet Visual Studio.NET 2008 var. Bunun yanında bolca C# ve .NETCF var. Şimdi bunları kullanarak güzel mobile uygulamalar çıkartacağız.
İlk olarak Yeni bir proje oluştur diyoruz ve açılan menüden Visual C# > Smart Device > Smart Device Project yolu ile yeni bir proje oluşturuyoruz.
Ilk basta vazgecilmez ornegimiz olan ”Hello World” yazarak baslamak istiyorum.Resimde de gordugunuz uzere bir adet button koyduk, ve button’un click eventinde ekranda bir messageBox kullanarak “Hello World” yazisini basacagiz.
private void button1_Click_1(object sender, EventArgs e) { MessageBox.Show("Hello World!"); }
Gordugunuz uzere normal bir Windows Application gelistirmekten pek bir farki yok. Bu windows mobile applicaton development’a giris icin kucuk bir adim oldu
Asil size bahsetmek istedigim konu ise Windows Mobile 6.5 uzerinde gelistirilebilen Widgetlar.
Bu test süreci birkaç aşamadan oluşmaktadır. Öncelikle widget için hazırladığınız dosyaları *.zip haline getirmeniz gerekmekte. Bir sonraki aşamada bu *.zip uzantısını *.wgt ya da *.widget olarak değiştirmeniz gerekmekte ve bu dosyayı emulatör üzerinde kopyalayıp (bu kopyalama işleminide emulatör ile paylaşımlı bir klasör üzerinden gerçekleştirebilirsiniz) gerekli kurumları yapmanız gerekmekte. Ayrıca bir önce test’ ten kalan kurulumunuzu kaldırmanız ve yeni halini kurmanız test’ i daha stabil kılmaktadır.
Her seferinde bu süreç can sıkıcı olabildiğinden geçen hafta tam ihtiyaç duyulan bir çalışmaya CodePlex üzerinde rastladım ; Windows Mobile Widget Emulator !
CodePlex üzerinde açık kaynaklı olarak gelişimine devam eden çalışma, kullanıcılara geliştirdikleri Windows Mobile Widget’ ları Emülatör’ e kurmaya gerek kalmadan "sanki mobil cihaz üzerinde çalıştırılıyormuş gibi" test imkanı sağlamaktadır.
Örneğin CodePlex üzerinden alınan yukarıdaki ekran görüntüsün, geliştirilen bir widget’ ın masaüstü ortamında Windows Mobile Widget Emulator ile çalıştırıldığı görülmektedir.
Peki Nasıl Kullanacağız ?
http://widgetemulator.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=31211 adresinden gerekli paketi indirdiğimizde aşağıdaki islemleri uyguluyoruz: assests klasörü uygulamanın çalıştırılabilmesi için gereken sistemsel dosyaları içermektedir. widgets klasörü "geliştirdiğimiz widget’ ı paketlemeden yerleştireceğimiz" bölgedir. index.htm ise widget’ ımızı test edeceğimiz standart bir HTML dosyasıdır.
Yukarıda da belirttiğimiz üzere geliştirdiğimiz widget’ ı "paketlemeden" widgets klasörü içerisine yerleştirmemiz gerekmektedir. Sadece bu kadar!
Windows Mobile 6.5 üzerinde geliştirilen widget’ larda yararlanılabilecek bir başka nokta ise bir önceki yazımızda ifade ettiğimiz “widget” javascript objesi üzerinden oluşturulabilecek SystemState objesidir. SystemState objesi vasıtasıyla geliştirdiğiniz widget’ lar içerisinden “bazı belirli” sistemsel özelliklerin değerlerine ulaşabilir, bu değerlerin değiştiğini algılayabilir ve istenilen kod bloklarını çalıştırabilmektesiniz. Aşağıdaki listede SystemState objesi üzerinden ulaşılabilecek değerlerin bir listesi listelenmiştir.
CradlePresent – Cihazın “cradle” (cihazın bilgisayarınız ile olan fiziksel bağlantısı) üzerine takılıp takılmadığının değerini döndürür.
DisplayRotation – Ekranın anlık görüntüsünün kaç derecelik bir açıyla gösterildiğinin değerini döndürür. (0 – 360 Derece Arası)
PhoneHomeService – Cihazın anlık network ile kayıtlı olup olmadığının değerini döndürür.
PhoneOperatorName – Cihazın anlık network (operatör) isim değerini döndürür.
PhoneRoaming – Cihazın anlık olarak “Roaming (Yurtdışında farklı bir operatör üzerinden bağlantı)” içerisinde olup olmadığının değerini döndürür.
PhoneSignalStrength – Cihazın operatör ile arasındaki bağlantı kalitesinin değerini yüzdelik olarak döndürür.
PowerBatteryState – Cihazın anlık batarya güç değerini düşük, güçlü, orta şeklinde tanımlı değerlerinin numerik karşılıklarını döndürür.
PowerBatteryStrength – Cihazın anlık batarya güç değerini yüzdelik değer olarak döndürür.
Bir sonraki makalemde sizlerle bu yukarida bahsetmis oldugum SystemState objelerini kullanaraktan Mobile Application gelistirecegiz.












