Volkan Atasever

mühendislik, edebiyat, retro computer, yazılım, şiir, nümismatik, bilişim, podcast ve daha bir çok yazılarım...

Mobil Programlama Kitabımız Çok Satanlar Listesinde

clock Kasım 13, 2010 03:48 by author Volkan Atasever

Kadir Çamoğlu ile beraber yazdığımız kitabımızın piyasa çıkmasından bu yana 5 gün geçti. Kitabımız hepsiburada.com sitesinin çok satanlar listesinde çıktıktan bir süre sonra 3. sıraya yerleşti. Gün geçtikçe bu sıranın yukarılara doğru tırmanacağını düşünmekteyim. Türkiye'deki mobil programlama konusunda bir eksiği kapatarak en kapsamlı kitap olma iddiası ile çıkan kitabımızın bu rakamlara ulaşması bizim açımızdan oldukça memnun edici.

 

Kitabın tanıtımı için TIKLAYINIZ!



Windows Phones 7 serisi ile Merhaba

clock Mart 24, 2010 04:47 by author Volkan Atasever

Visual Studio 2010 Express for Windows Phones IDE’si ile windows phones isimli yeni teknoloji için geliştirmeye merhaba dedik. Bu yazımda bu teknolojiyi incelerken geliştirme aracını ve yeniliklerden bahsedeceğim. Öncelikle windows mobil 5.0 dan beri telefonlarımıza yeni ROM yüklemeye alışmıştık. Bu aşamadan sonra ise Windows Mobile 6.5 telefonlarımıza dahi yeni işletim sistemini ROM güncellemesi ile yükleyemeyeceğiz. Donanımsal olarak cihazların yeterli teknolojiye sahip olmamasını sayabiliriz. Bunun dışında Multitouch özellipi ve kapasitif ekran özelliklerinin gelmesi aynı zamanda cihazın kullanım özelliklerine uygun olarak 3 tuşun bulunması gerekiyor. Bu özellikler dahi bende büyük heyecan uyandırmaya yetti. Windows Phones ile tüm yazılım geliştirme altyapısı Silverlight üzerine inşa edilmiş gibi gözüküyor bunun yanında XNA önemli bir yer tutmakta. Önceki versiyonlarda XNA desteği yerine DirectX programlama ile uğraşmak zorundaydık artık işlerimiz biraz daha kolay. Yinede yeni platforma alışmak yazılım geliştiriciler açısından biraz tedirginlik yaratabilir. Klasik windows mobile programlama alışkanlıklarımızı bir kenara bırakmak zorundayız. Öncelikle bildiğim temellerden biri Bluetooth API’sinin değişiklik göstereceğiydi. Diğer API’lerle ilgili durum şu anda bilgim dahilinde değil.

Visual Studio 2010 ile beraber gelen Mobil Proje tiplerini inceleyecek olursak karşımıza şu tipler çıkmakta;

 

İki seçeneğimizden ilki Silverlight for Windows Phone seçeneği. Burada Windows Phone Application seçeneği ile temel template’imiz karşımıza çıkmakta. Genel ve gelişmiş tüm programlarımızı bu yapı altında yapabilmekteyiz. Windows Phone List Application’da ise isminden anlaşılabileceği gibi listelerden oluşmuş uygulamalar yapabilmekteyiz. Class Library klasik alışkanlığımız olan kendi sınıflarımız için bir seçenek.

 

XNA Game Studio 4.0 ise Windows Phone Game, Game Livrary, Windows Game ,Xbox 360 gibi seçeneklerle beraber gelmekte.

Bizim ilk uygulamamız Silverlight tabanıyla windows phone application olacak. Karşımıza çıkan standart görüntünün aksine ilk incelediğim yer toolbox kısmı oldu. İhtiyacıma uygun araçları görmek oldukça sevindiriciydi. Bunların ise görsellik olarak standart windows kontrollerinden daha fazla tatmin edici olması işin sevindirici bir boyutu. Baktığınız zaman eski nesil cihazlarda windows formları ile benzerlik üst düzeydeydi. Hatta normal debug ettiğiniz bir uygulamanın penceresini windows üzerinden bile açabilmeniz için gerekli yöntemler mevcuttu. Düşündüğüm zaman WPF’i port etmeleri çok zorlu bir iş olurdu. Görsel olarak port edilebilecek bir uygulama olması açısında Silverlight’ın doğru bir seçim olduğuda düşünülebilir. Tabiki bildiğimiz anlamıyla başlı başına bir silverlight değil. Bir browser’a ihtiyacınız yok. Donanım tabanlı bir silverlight klonu karşınızda diyebilirim.

İlk işim açılan pencere ile beraber gelen gri tonlardan kurtulmak için çareler aramaktı. Baktığınız zaman ilk penceremizin gridlere ayrıldığını ve alttaki yapının contentgrid olduğunu gördüm. Rengi değiştirmek için background özelliğini kolayca buldum. Artık sıkıcı temel renklerden oluşan bir palet yoktu karşımda daha gelişmiş Red Green Blue değerlerini bile ayarlayabileceğim bir paletle karşılaştım.

 

Üstteki bölüm ise TitleGrid idi. Bundaki renkleride aynı metodla değiştirirken. TextBlocklarınıda ilk uygulamaya uygun bir isimle değiştirdim.

 

Hemen toolbox’umdan bir buton sürükledim. X ve Y koordinatından hizalama seçeneği mobil cihazda uygulama geliştirirken oldukça hoş bir özellik. Bu işlemleri yaparken Iphone’un eğlenceye yönelik piyasasınında sarsılacağı öngürüsünü oluşturmak zor değil. Profosyonel uygulamalarda ise Windows Mobile serisis zaten office uygulamaları ile tartışılmaz öncüydü.

 

Buton’a çift tıkladığımda klasik C# kod ekranım karşımdaydı. Kendimi tanıdık bir ekranda bulmak ise bu kadar görselliğin yanında oldukça büyük bir artı. Bu arada pencereme bir textbox’da sürükledim. Buton’un click event’ine her ilk yeni uygulamalarda olduğu gibi bir atama ile tamamladım.

 

NameSpace’lere bakmadan tabi olmaz. Yeni namespace’ler karşımda ve karıştırılacak çok şey olduğu gözükmekte.

Debug->Start without Debugging ile emülatörümü çalıştırmak üzere heyecanla tıkladım.

İlk uygulamamın ekran görüntüsü;

 

Gerçekten heyecan verici olduğu muhakkak. Fakat Windows mobile konusunda deneyiminiz varsa yeni platformda da zorluk çekeceğinizi zannetmiyorum. Kesinlikle eğlenceli zaman geçirerek adapte olabilirsiniz.

 



Uygulama Minimize Edildiğinde Nasıl Kapatırım?

clock Mart 10, 2010 03:57 by author Volkan Atasever

 

Windows Mobile işletim sistemi kullanan cihazlardaki en popüler sorudur. Çünkü uygulama minimize edilse dahi sistem kaynakkklarını kullanmaya devam etmektedir. Arka planda çalışan programı şahsım adına unuttuğum dahi olabilmekte. Sistem kaynaklarını kullanması bir kenara bu işlem yüzünden pilimin kullanım süreside düşmekte. En azından kendi uygulamlarınızda bu işlemi uygulayarak kullanıcıları büyük bir dertten kurtarabilirsiniz. Bunun için biraz alt seviyeli programlamaya inmemiz ve pencere mesajlaşma fonksiyonlaraına ve parametrelerin göz atmamız gerekmekte. Program minimize butonuna basıldığında SIZE_MINIMIZED sabiti ile WM_SIZE mesajını almaktadır bu da wParam içinde gelmektedir. Bizim yapmamız gereken ise bu mesaj geldiğinde PostMessage(WM_CLOSE) metodunu tetiklemektir.

Bunun için aşağıdaki kod parçası işinizi görecektir. Zamanında biraz Windows API’lerle uğraşmış yazılım geliştiriciler için oldukça aşina geleceğini tahmin etmekteyim. Uygulama kodları Native düzeydedir.

 

LRESULT CCloseOnMinFrame::OnSize(UINT /*uMsg*/,
                                 WPARAM wParam,
                                 LPARAM /*lParam*/,
                                 BOOL& bHandled)
{
    if(wParam == SIZE_MINIMIZED)
    {
        PostMessage(WM_CLOSE);
        bHandled = TRUE;
        return 0;
    }
    // Not handled here
    bHandled = FALSE;
    return 1;
}

 

Kaynak: MVP João Paulo Figueira



Windows Mobile için Bluetooth Kulaklık ve Cihaz Titreşimi

clock Şubat 28, 2010 06:23 by author Volkan Atasever

Bu işlemleri yapmak için windows mobile için geliştirilmiş bir kütüphane kullanacağız. Bu müthiş kütüphanenin ismi In The Hands. Mobil cihazlar için .NET bileşenleri ismi ile yayında. Aslında çok küçük bir ihtiyaçdan kaynaklı bir şekilde bu kütüphane ile yollarım kesişti. İçeriği oldukça geniş. Tabi deneyimli ve uzman geliştiricinin her kütüphaneyi kendisi keşfedip çözmesi taraftarıyım. Fakat size ufak bir iki demo ile giriş yapmadan geçmeyeceğim. Baktığımız zaman .NET Compact Framework’ün eksikliklerinden ve bazen işimize yarayabilecek şeyleri kendimiz yazmamız gerektiğinden bahsediyorum. Spesifik uygulamalarda özellikle bu durum zorunlu olmakta. Herşey veritabanı programlama değil! Öncelikle değerlendirme sürümünü bilgisayarınıza nasıl kurarsınız bunu göstermek istiyorum. Ardından gözüme çarpan bazı özelliklerine yer vereceğim. Demolarımız cihazın vibrasyonunu açıp kapatmak ve bluetooth kulaklığı açıp kapatmak ile ilgili olacaktır. En son olarak kulaklığa nasıl bir müzik göndereceğinizi göstereceğim.

Aşağıdaki linkten değerlendirme sürümünü indirebilirsiniz. Windows Mobile 5.0’dan 6.5’e kadar desteklemekte. Windows Mobile 7'de büyük ihtimalle bluetooth headset demosunu gerçekleştiremeyeceksiniz. Aldığım bilgilere göre Windows Mobile 7 ile Bluetooth işlemlerinde köklü değişiklikler olmuş.

http://inthehand.com/files/folders/evals/entry9010.aspx

 

Kurulum aşamasını bildiğimiz next ve next süreçleri ile atlatıp bilgisayarımıza kuruyoruz. Ardından yeni bir proje açıyoruz. Bazı referans dosyaları eklememiz gerekmekte. Diğer referanslardan bazılarınıda resimde görebilirsiniz.

 

Bir demo yapmak gerekirse buradan InTheHand, InTheHand.WindowsMobile referanslarını projenize ekleyin. Ardından küçük bir deneme turuna geçelim;

 

            InTheHand.WindowsMobile.Forms.Vibrate.Play();

 

            System.Threading.Thread.Sleep(500);

 

            InTheHand.WindowsMobile.Forms.Vibrate.Stop();

 

Yukarıdaki kodlar sayesinde cihazınız vibrasyon özelliğini çalıştırabileceksini 500ms bekledikten sonra ise stop fonksiyonu ile bunu durdurabiliyorsunuz.

 

Cihazın kayıtlı profilini ise aşağıdaki kodla görmeniz mümkün;

foreach(string profile in InTheHand.WindowsMobile.Forms.MobileDevice.Profiles)

{

MessageBox.Show(profile);

}

Aşağıdaki şekilde yeni bir profil tanımlayabiliyorsunuz.

InTheHand.WindowsMobile.Forms.MobileDevice.SetProfile("Vibrate");

O andaki geçerli profili ise aşağıdaki kod ile görebilirsiniz. Profilin tanımını mesaj kutusu ile size sunacaktır.

MessageBox.Show(InTheHand.WindowsMobile.Forms.MobileDevice.CurrentProfile);

Bir diğer demom ise bluetooth kulaklıklar hakkında olacak. Bu kütüphane gerçekten işime yarayacak gibi duruyor açıkcası. Projemize öncelikle InTheHand.WindowsMobile.Media isim uzayını yani (namespace)’ini eklememiz gerekmekte ardından bir tanede   CheckBox kontrolü yerleştirin.

private  BluetoothAudioGateway bag = new BluetoothAudioGateway();

BluetoothAudioGateway sınıfından bir bag  nesnesi yaratıyoruz. Ardından ;

private   void chkGateway_CheckStateChanged(object sender, EventArgs e)

{

 

   if (chkGateway.Checked)

   {

      bag.OpenAudio();

   }

 

   else

   {

      bag.CloseAudio();

   }

}

OpenAudio() ile kulaklık bağlantısını açıp CloseAudio() ile kapatabiliyoruz.

Eğer herhangi bir dosyayı çalmak istiyorsak;

InTheHand.Media. SoundPlayer sp = new InTheHand.Media.SoundPlayer(dosyaadı);

sp.Play();

şeklinde herhangi bir audio’yu bluetooth handset’ine yani kulaklığına gönderebiliyoruz.

Kaynak : MVP Peter Foot - http://inthehand.com/files/folders/evals/entry9010.aspx



Windwos Mobile 7 Tanıtılıyor!

clock Şubat 16, 2010 02:34 by author Volkan Atasever

Artık IE 7, Silverlight uygulaması ve daha fazlası Windows Mobile 7 üstünde. 15 Ağustosta yapılan Barcelo’daki Dünya Mobil kongresinde Windows Mobile 7 tanıtılıyor.Windows Mobile 7 prototipler sanal klavye ve yeni giriş metodları ile birlikte geliyor. Artık kalemlere zorunluluk kalkacak. Yeni video çözümleyiciside windows mobile ile gelecek özellikler arasında. Diğerleri ise şöyle sıralanabilir;

Windows Mobile 7 için Internet Explorer Mobil 7  

Qualcomm DirectShow tabanı bileşenler. Openmac ve Directshow temeli için geliştirme çözümleride içermekte

Cihazların 1GHz seviyesinde işlemci barındırması bekleniyor. Bende heyecanla bekliyorum.

 

WİNDOWS MOBILE 7 TODAY Ekrenının ilk görüntüsü:



Volkan Atasever Kimdir ?

E-Mail: volkan(et)volkanatasever.com

Genel Müdür/S4G 
Bilgisayar Mühendisi

mühendislik, edebiyat, retro computer, yazılım, şiir, nümismatik, bilişim, podcast ve bir çok kategoride yazılarım...

Yazılım Kitaplarım

   

Şiir Kitaplarım

Dergi Yazılarım

 

Sosyal Ağlarım

 

 

 

 

Retro Bilgisayar Dergimiz

Türkçe Retro Bilgisayar dergimiz haziran 2016'da ilk sayısını çıkardı. ilk sayı yeni bir internet sitesinden tekrar yayınlanacaktır. Retro camiası tüm dünyada oldukça eğlenceli bir camia. Sizde katkıda bulunmak isterseniz bana mail atmanız yeterli. Dergimiz PDF formatında ve tamamen ücretsizdir.

Yasal Bilgi

Sitedeki yazıları,kodlar ve diğer materyaller Volkan Atasever'e aittir. Yazarı ve siteyi kaynak göstererek yazıları paylaşabilirsiniz.  Copyright(c)2004-2017

Sign In

Yazılım