Volkan Atasever

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

TODAY veya HOME Ekranını uygulamada göstermek!

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

Mobil uygulamanızdan today ekranına veya ilk home ekranını göstermek yani dönmek için iki adımlı basit bir kod parçamız bulunmakta.

 

HWND hWndDesktop = GetDesktopWindow();
SetForegroundWindow((HWND)(((ULONG) hWndDesktop) | 0x01) );

 

İlk satırda today veya başlangıç ekranımızın HWND tipinde adresini alıyoruz. En üstte duracak pencere olmasını sağlamak içinde setforegroundwindow metodunu uyguluyoruz. Artık Today ekranındasınız. Uygulama kodları native düzeydedir.

 



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



PCWorld Mart Sayısındaki Yazım

clock Mart 2, 2010 18:20 by author Volkan Atasever

PCWorld Dergisinde Mart sayısındaki yazı dizimde bu ayki konu Mobil Programlama: Saysal Loto Programı. Yazıma başlarken Windows Mobile 7, IPad ve diğer mobil gelişmlere değindim. Dergi hakkında genel değineceğim bir diğer konu ise boyutları büyümüş olarak bu ay karşımızda. Açıkcası dergiyi bu haiyle daha çok sevdim. Yazımı okumanız dileğiyle...



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



DeveloperMania.Net sitesinde yapılan röportajım

clock Şubat 25, 2010 04:16 by author Volkan Atasever

DeveloperMania.Net sitesi Teknik lideri ve editörü Erkan Güzelküçük'ün benimle yapmış olduğu röportaja aşağıdan ulaşabilirsiniz.

Röportaja ulaşmak için: http://developermania.net/developermania/rpt.asp?katID=8

Röportajdan alıntı:

Sayın Volkan ATASEVER, Sizi tanımayanlar için kendinizi kısaca tanıtabilir misiniz?

Merhabalar, açıkcası benim yazılım ve bilgisayar geçmişim çocukluğuma dayanır. Benim yaşlarımda olan uğraşan çoğu kişinin yazılım noktasında tırmandığı üst seviye

10 print”merhaba”

20 goto 10

Kısmında kalmıştı açıkcası. Fakat bu bana oldukça zevk verdiği kadar çok daha gelişmiş programlar yazmaya itmişti. Bunun temel nedeninin 5 yaşlarımda bilgisayar ile tanışmama bağlıyorum. Bu bağlamda şanslı bir çocukluk geçirdiğimide düşünüyorum. Bunun nedeni ise o zamanlarda bilgisayar veya elektronik mühendisi olmaktan bahsetmemdir. Kaç kişi o yaşlarda seçebildiği mesleği ve sevdiği bir işi yapabiliyorki? Onun için sistemin yanlış yönlendirmelerine rağmen istediğim hedefe ulaştığım için kendimi şanslı bireylerden biri hissetmekteyim. 1992 yılında ilkokul sıralarında ilk bilgisayar sertifikamı almıştım. Hala da saklarım.  Ortaokul yıllarıma gelene kadar birçok değişik işletim sistemine ve yorumalyıcılara sahip bilgisayarlarım oldu. Ortaokul yıllarımda ise IBM uyumlu dediğimiz PC’ler bir standart haline geldi. İlk işim aileme bir 486 işlemcili bir PC aldırmak olmuştur. O zamanlar için oldukça önemli sayılan bir işlemci gücüne sahipti. Ardından ilk PC’m bozulmuş ve o zamanın parası ile 15$ gibi bir ücreti teknik servise vermeme rağmen yapamamıştı. Bu benim için bir dönüm noktasıydı o olaydan sonra bilgisayarımı hiç bir zaman teknik servise götürmedim ve düzeltemediği arızayıda kendim bulup düzeltmiştim.  Bu bağlamda bilgisayar geçmişimi az çok tahmin ettiğinizi düşünüyorum.

2005 yılından beri ise değişik gruplarda ve özellikle INETA User Grouplarda makalelerime rastlayabilirsiniz. Aynı zamanda bu tür gruplarda editörlükte yapmaktayım. Sektörde çok sayıda Seminer vermeye devam etmekteyim. Bilgisayar dergilerinde yazarlık yapmakla birlikte şu anda PCWorld dergisinde yazmaktayım. Akademik çalışmalarım ise sürmekte akademik bildiri ve makale yazarak sektöre katkıda bulunuyorum. Uzun süre sektörde Yazılım Uzmanı & Danışmanı olarak çalıştım ve çalışmaya devam ediyorum. Bu aralar ise mobil platformalar ve artificial intellegence üstünde çalışmaktayım. 2010 Haziran itibari ile de bilgisayar mühendisi kıyafetini giyeceğim.

Türkiye’de Microsoft karşıtı birçok kullanıcı var ve Türkiye’nin gelişebilmesi için Microsoft’tan kurtulmalıyız diyen binlerce kişi var. Bu konudaki düşünceleriniz nelerdir?

Bu konuyu bir firma olarak ele almamak lazım. Konunun aslı Bilişim sektöründeki kalkınma nasıl olmalı? Sanayi devrimini kaçırmış olan ülkemizin hala ağır sanayide söz sahibi olduğunu söylemek zor. Aynısı ise bilişim devriminde olmamalı. Microsoft bu sektörün en önde gelen firması. Onun yaptığı araçları kullanarak yeni keşifler yapma ve kalkınmada sakınca görmüyorum. Linux gibi Sun ve IBM gibi firmalarında düşmanı değiliz. Firma bazlı düşünmemek gerekir.

Türkiye’de Bilgisayar Mühendisliği eğitimi veren birçok vakıf üniversitesi ve devlet üniversitesi bulunmaktadır. Sizce verilen eğitim çağımızın ihtiyaçlarını karşılayabiliyor mu?

Vakıf üniversitesi ve devlet üniversitesi olarak yapılan ayrımı doğru bulmuyorum. İkiside üniversite ve ikisi de akademik bağlamda eğitim yapılan yerler var. Ben üniversite bazında bakmaktan daha çok bireysel bakmayı tercih ediyorum.  İş birey de bitmekte. Yazılım ve Bilgisayar bilimleri her an kendini geliştirmeyi ve araştırmayı gerekmekte. Eğer burada aynı çizgide kalabilmek istiyorsanız çalışmalarınızı durmadan sürdürmelisiniz. Standart bir yazılımcı ve mühendis olmak istiyorsanız bu sizin bileceğiniz bir iş. Tamamıyla üniversitede verilenlere bağlı kalmamak gerekir teori’de gerçekleşen dersleri pratiğe taşımak burada en önemli nokta.

Türkiye’de özel eğitim kurumlarının vermiş olduğu bireysel yazılım eğitimleri hakkındaki düşünceleriniz nelerdir?

Her eğitim alan yazılımcı olamaz. Her yazılımcıda bir özel eğitim kuruluşundan eğitim almaz. Bu eğitim kurumları size bir başlangıç verir. Bir ivmelenme kazandırır gerisi yine sizin ellerinizde. Burada mühendis olmayı ise ayrı tutuyorum Bilgisayar veya yazılım mühendisi demek. Yazılıma ve bilgisayara mühendislik metadolojileri ile yaklaşmayı gerektirir. Bunun eğitimi ise sadece üniversitede verilir.

Yurtdışında Türkiye’yi temsil eden yazılımcıların sayısı diğer ülkelerinkine göre çok az bu durum hakkındaki görüşlerinizi alabilir miyiz?

Amerika’lı yazılımcı işini hakkıyla yapıyor. Hintli ise ucuz iş gücü demek. Hem kaliteyi hemde ucuzluğu sunarsanız bu temsil sayısı hızla artacaktır. Bu sayı açıkcası yapımızdan da kaynaklanıyor diyebilirim. Hint asıllı yazılımcılar arasındaki dayanışma çok daha fazla. Aynı dayanışmayı kendi aramızda da yapmalıyız.

Sizce yazılım dünyasında başarıya ulaşmak için hangi adımlardan geçmek gerekiyor?

İlk aşama algoritma mantığının oturması ve her türlü soruna en iyi algoritma ile çözüm bulmak. Sonra bir programlama dili öğrenmek. Yeryüzünde profesyonel camiada 4 dil dönmekte bunlar C, C++ , Java ve C#. Bu dört dilden birine en iyi şekilde hâkim olmak gerekirse dördüne birden. Ardından ise yazılım projelerin de görev almak.

INETA DeveloperMania. Net’te yaklaşık 3 yıldır Topluluk Liderliği yapmaktasınız, Bu tür siteler Türkiye’de yaygınlaşmaya başlıyor. Türkiye bilgi paylaşımı konusunda bilinçlenmeye mi başladı yoksa bu yaygınlaşma neden?

Bu tür sitelerin yagınlaşmasında bir sakınca görmüyorum. Önemli olan doğru bilgiyi ulaştırabilmek. Bu kadar yaygınlaşmaya rağmen bazen aldığım hataları hala yabancı kaynaklı sitelerden bulabiliyorum. Demekki tam yeterli türkçe kaynağa ulaşamamışız. Bu sitede zaten bu amaca hizmet etmek için kuruldu.

Son olarak Genç yazılımcılara söylemek istedikleriniz?

Bilişim devrimini kaçırmamak ve uluslararası camia’da yer sahibi olabilmek için kaliteli ve en doğru hizmeti vermeyi unutmayın. Durmadan kendinizi yenileyin diyebilirim.

 

Değerli zamanınızı bizlere ayırdığınız için çok teşekkür eder, Başarılarınızın devamını dilerim.




Röportajı Gerçekleştiren, Erkan GÜZELKÜÇÜK
DeveloperMania.Net Teknik Lider & Editör



Volkan Atasever Kimdir ?

E-Mail: volkan(et)volkanatasever.com

Kurucu&Genel Müdür/Software4Galaxy Ltd.
Bilgisayar Mühendisi
Eğitmen ve Danışman, Teknoloji Yazarı, Şair, Araştırmacı, Girişimci, Amatör Telsiz Operatörü, Amatör Denizci, Akvarist, Nümismat, Filatelist, Bilim İnsanı

Genel Duyurular

-Yakın bir zamanda Amatör Telsiz ve Amatör Denizcilik adında yeni iki kategori ile bilgilerimi paylaşıyor olacağım.

-DVTFL 9. ve 10. Sınıf Bilgisayar Bilimi dersini alan öğrencilerim ders panosunu kontrol ederek dönem projelerini seçmek zorundadır. açıklamayı okuyup ardından mail atınız.

-RC Araçlar kategorisi ilgi alanımdadır artık bu konuda da araştırmalar yapıp zaman buldukça projelerimi paylaşacağım.

-Üç yeni kitap çalışmasına başladım 2019 senesi içinde 3 yeni kitabım geliyor olacak. bu kitap sayısı maksimum dört adete çıkabilir. yoğun bir tempo gerekiyor.

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-2019

Sign In