1. meslek sırrı MOBİL PROGRAMLAMA
PCWORLD.COM.TR NİSAN ’10122
Volkan Atasever
volkan@volkanatasever.com
Geçen ayki sayısal loto uygulama-
mızı hatasız kodladığınızı ve çalıştır-
dığınızı düşünmekteyim. İlk uygulama için
hem keyifli hem de gerçekçi bir soruna
çözüm getirmiş olduk. Sorun şurda ki mo-
bil cihaz için yaptığımız ilk uygulamamızı
emülatörde çalıştırdık. Cihaza atamadık.
Cihazınızda yüklediğiniz programlara dik-
kat ederseniz hep “.cab” uzantılı bir dos-
ya olarak dağıtıldığını göreceksiniz. Bu-
nun için loto uygulamamızı “.cab” uzan-
tılı bir dosya haline getirip cihazımıza kur-
mamız için gereken adımları bu ay incele-
yeceğiz. Bu adımları gerçekleştirirken kod
yazmamıza gerek yok. Bu ay daha faz-
la resim kullanarak konuyu anlatacağım.
Bu sayede adım adım nasıl “.cab” dosya-
sı oluşturacağımız inceleyeceğiz. Her ay
genellikle mobil dünyada olan gelişmele-
re de değiniyorum. Bu bağlamda yeni pi-
yasaya çıkmış olan Windows Phone 7’ler
için geliştirme paketini de inceleyeceğim.
Fakat bu incelemeyi yazının sonuna bıra-
kıyorum. Öncelikle geçen ay yaptığımız
projeyi Visual Studio 2008 ile birlikte aç-
manız gerekmekte. Visual Studio’nun sağ
tarafında bulunan ve projemizinde içinde
bulunduğu bir pencere göreceksiniz bu-
nun ismi Solution Explorer. Bu pencere
proje dosyalarımızı bir çözüm altında top-
lar. Bu sayede bir çözüm içerisinde birden
fazla proje barındarabiliriz. “.cab” proje-
si oluşturmak içinde bir proje daha çözü-
mümüze eklememiz gerekiyor. Bu sayede
çözümün altında iki proje yer alacaktır. İlk
adımımız çözüme bu projeyi eklemek ol-
sun bunun için aşağıdaki adımları uygu-
luyoruz. Solution Explorer penceresinde
Solution’ın üzeine sağ tıklayıp Add > New
Project sekmesine tıklıyoruz. (Resim 1)
Açılan pencereden “Smart Device CAB
Project” seçeneğini seçiyoruz. Bu ara-
da projemizin isminide burada veriyo-
ruz. Benim kullandığım isim “PCWorld”
oldu. “Name” kısmına resimde gördü-
ğünüz gibi bu ismi kullandım. “Location”
ise “default” yani varsayılan olarak kulla-
nılan dosya yoludur. Siz ihtiyacınıza göre
bu yolu değiştirebilirsiniz. Yinede tüm çö-
zümlerin altındaki projelerin aynı yol üze-
rinde olması karışıklığı önlemek açısından
gerekli bir durumdur. (Resim 2)
Projemizi ekler eklemez yukarıdaki pence-
reler açılacaktır. Burada “File System on
Target Machine” yapısının altında “App-
lication Folder” klasörünü görüyoruz. Bu
klasör oldukça önemli bir klasördür. Çün-
kü uygulamamızın dosyaları burada ola-
cak. Bu dosyaları eklemek için mouse’un
sağ tuşuna tıklıyoruz. Açılan pencereden
“Add > Project Output” sekmesini seçiyo-
ruz. (Resim 3)
Yaptığımız projeninde ismi olan bir pen-
cere çıkıyor. “Project” ksımında projemi-
zin seçili olmasına dikkat edelim. Ardın-
dan “Primary output” seçeneğini seçip
OK butonuna basıyoruz. (Resim 4)
Şimdi sıra geldi bu uygulamamızı yükle-
diğimizde mobil cihazımızın hangi kla-
sörlerinde bulunması gerektiğine. Bunun
için “File System on Target Machine” se-
çeneğine sağ tıklıyoruz. Karşımıza sade-
ce tek seçenek çıkıyor o da “Add speci-
al folder” seçeneği. Yani bu sayede uygu-
lamamızı özel bir klasörde barındırabilece-
ğiz. Uygulamanın dosyalarının “Programs
Folder”da olması için onu seçiyoruz. (Re-
sim 5)
Tekrar Application folder klasörünün üs-
tüne geliyoruz. Burada Primary Output
olarak belirttiğimiz dosya yer alıyor. Bu-
nun için sağ tıklayıp bir kısayolunu oluştu-
ruyoruz. “Create Shortcut to Primary out-
pur from projeismi” yazan sekme bizim
bu işi yapmamızı sağlıyor. Bu kısa yollar-
dan iki adet oluşturmamız gerekiyor. Bir
kısayolu Program Files Folder’a diğer kısa-
yolu ise Programs Folder’a taşımamız ge-
rekiyor. Tabiki ihtiyacınıza göre kısayolun
standart gelen uzun ismini yeniden adlan-
dırmalısınız. Benim kullandığım isim pro-
jenin içeriğine uygun olarak loto olarak
isimlendiridi. (Resim 6)
Bilgisayarda hazırladığımız uygulamayı mobil cihazımıza atmak için “.cab”
dosyası haline getiriyoruz.
Uygulamalar Telefonda
1
2
3
4
5
6
7
mobil programlama_nisan.indd 122mobil programlama_nisan.indd 122 25.03.2010 20:2925.03.2010 20:29
2. meslek sırrı MOBİL PROGRAMLAMA
123PCWORLD.COM.TRNİSAN ’10
Son olarak tüm işlemlerimizi Visual Stu-
dio üzerinde tamamlamak için Solution
Explorer’ın üstüne gelerek PCWorld isim-
li projemize sağ tıklayıp build işlemini ger-
çekleştirmeliyiz. Bu sırada “.cab” dosya-
mız fiziksel olarak da oluşuyor. Bu sayede
cihaza yükleyebileceğimiz bir “.cab” dos-
yamız elimizde oluyor. (Resim 7)
“.cab” dosyasına ulaşmak için “Soluti-
on Explorer” üstünde “Solution” sekme-
sine sağ tıklayıp “Open Folder in Win-
dows Explorer” sekmesine tıklamalısınız.
Çıkan pencereden “.cab” dosyasının ol-
duğu proje klasörüne girmemiz ardından
“.cab” uzantılı dosyayı istediğimiz bir ala-
na taşımalısınız. (Resim 8)
Bu adımdan sonra “.cab” dosyasını mobil
cihaza atmak için iki seçeneğemiz var: Ya
cihazın kullandığı depolama kartının üze-
rine bu dosyayı bilgisayar vasıtasıyla yük-
leyeceğiz ya da bilgisayar ile mobil cihaz
arasında bağlantı kurarak bu dosyayı de-
polama kartına veya cihazın kendi belle-
ğine bu dosyayı atacağız. İlk yol eğer de-
polama kartı cihazın kolay ulaşılabilir bir
yerindeyse en kolayı. İkinci yol biraz daha
uğraştırırcı fakat gelecekte yapabileceği-
miz diğer bağlantıları da düşünerek zor
fakat her zaman işimize yarayabilecek
ikinci yolu ayrıntılarıyla göstereceğim. (Re-
sim 9) Windows XP ile Active Sync saye-
sinde mobil cihaz ve bilgisayar senkroni-
zasyonunu gerçekleştiriyorduk. Windows
Vista ile beraber ise Windows mobile De-
vice Center geldi. Windows 7’de de aynı
uygulama varsayılan olarak geliyor. Ciha-
zınızı USB’den bağlanacak şekilde ayar-
ladıysanız. Cihazınızı USB’den taktığınız-
da ve WMDC açık ise yukarıdaki pence-
re ile karşılaşacaksınız. Tek seçeneğiniz
USB’den senkronizasyon değil tabi. Blue-
tooth ile de aynı senkronizasyonu gerçek-
leştirebilirsiniz. (Resim 10)
Burada görmüş olduğunuz gibi bağlantı
başarı ile sağlandı. Telefon ile bilgisayar
arasında senkronizasyonda başlamış gö-
züküyor. Pencerenin sağ tarafında gör-
müş olduğunuz “File Management” bize
mobil cihazdaki dosyaları yönetmemiz
için oldukça başarılı bir arayüz sunuyor.
File Management altındaki “Browse the
content of your device” sekmesine tıkla-
yalım ardından cihazımızın tüm dosyaları-
na ulaşalım. (Resim 11)
Burada gördüğümüz gibi “Storage Card”
sekmesi hemen karşımıza geldi. Bu depo-
lama biriminin içine girip daha önceden
uygun bir yere taşıdığımız cab dosyası-
nı “storage card”ın içinde bizim için uy-
gun bir yere koyalayım. Ardından normal
program kurma rutinlerini yaparak prog-
ramı kurabiliriz. Programımız artık prog-
ram klasörünün içinde ve program files
folder’ının altında gözükecektir. Biz ise
programı programların altından rahatlık-
la çalıştırabiliriz.
Artık geçen ayki uygulamamızı emülatör-
lerden kurtarmış olduk. Uygulamamızı gö-
nül rahatlığıyla her an her yerde kullanabi-
lirsiniz. 6’yı tutturursanız e-posta adresim
volkan@volkanatasever.com beni görme-
den lütfen tüm parayı harcamayın :)
Yeni nesil mobil telefonlar
için geliştirme...
Yazımın başında bu gelişmelerden bah-
sedeceğimi belirtmiştim. Yeni nesil Win-
dows Phone’lar daha piyasaya çıkmadı
fakat geliştirme araçları şimdiden sunul-
du bile.
Öncelikle geliştirme araçlarını nasıl edine-
bilirsiniz ondan bahsetmek istiyorum. Ci-
hazların tümümün ismi Windows Phone
7 olarak geçiyor. Geliştirme aracıda bu
sloganı kullanarak Visual Studio 2010 for
Windows Phones ismi altında sunulmuş
durumda...
Değişenler ise XNA ve Silverlight’ın yeni
cihazlarla yoğun kullanıma gireceği. Ar-
tık Silverlight web tabanlı olmaktan çıka-
rılmış ve cihaz tabanlı bir özellik haline ge-
çirilmiş bulunuyor.
Windows Phone Developers CTP’yi indir-
mek için http://tinyurl.com/y8gvwp2
linkini kullanabilirsiniz. Bilgisayarınıza dos-
yayı indirdikten sonra... Kurulum aşaması
yukarıdaki gibidir. (Resim 13) Fazla uzun
sürmeyen bir kurulum aşaması sürüyor.
Visual Studio 2010 Express for Windows
Phone Edition kurulduktan sonra çalıştır-
ma esnasındaki ekran görüntüsü yukarı-
daki gibi. Yeni nesil windows phone 7 ci-
hazların emülatörün ekran görüntüsü ise
Resim 14’teki gibi gözüküyor.
Gelişmelere de değindiğim yazı dizimde
mobil cihazların gelecekte ne kadar yo-
ğun kullanılacağını biçim ve yazılımsal de-
ğişikliklerle beraber prensibinin değişme-
yeceği bir gerçek. Mobil platformlar üst
düzey mobilite için var olmayı sürdürecek-
ler. Gelecek ay heyecan verici başka bir
uygulama ile görüşmek üzere…
8
9
10
11
12
13
14
mobil programlama_nisan.indd 123mobil programlama_nisan.indd 123 25.03.2010 20:2925.03.2010 20:29