31 Temmuz 2009
Webcast (Web Semineri) - Windows Mobile 6.5 – Widget Geliştirmek Part 1
Merhaba,
Windows Mobile 6.5' un raflara yaklaşmasıyla birlikte bu konu üzerinde makaleler ve çalışmalar gerçekleştirmekteyim. Hazırladığım içerik üzerinden Windows Mobile 6.5 üzerinde uygulama geliştirme noktasında bir seminer serisi gerçekleştireceğim.
Ve bu serinin ilki ;
Windows Mobile 6.5 – Widget Geliştirmek Part 1
Windows Mobile 6.5 uygulama geliştiriciler ve son kullanıcılar tarafında onlarca yenilikle birlikte hayatımıza girdi sayılır. Uygulama geliştiriciler tarafında bu yeniliklerin belki de en önemlisi masaüstü ortamda halihazırda kullanıyor olduğumuz Widget’ lar. Artık Windows Mobile 6.5 üzerinde siz de Widget’ lar geliştirebilirsiniz.
Windows Mobile 6.5 üzerinde Widget kavramının ayrıntılı şekilde ele alınacağı ve örnek uygulamaların geliştirileceği bu seminer, aynı zamanda Türkiye’de Windows Mobile 6.5 hakkında gerçekleştirilecek ilk web semineri olma özelliğini de taşımaktadır.
Tarih : 04 Ağustos 2009 Salı Günü
Saat : 21:00 – 22:00
Konuşmacı: Device Application Development – MVP, Ekin Özçiçekçiler.
Web seminerine kayıt olmak için buraya tıklamak ve Windows Live ID (Hotmail hesabı) ile giriş yapmak gerekmektedir.
30 Temmuz 2009
49 Free Windows Mobile 6+ Smartphone Apps and Services
Merhaba,
Mobil Cihaz Uygulama geliştiricilerin ve kullanıcılarının eminim çok hoşuna gidecekleri bir kaynağı sizlerle paylaşmak istiyorum. SpeckBoy üzerinde kullanıcıların hayatını kolaylaştıracak ve olmazsa olmaz "ücretsiz" Windows Mobile mobil cihaz uygulamalarının bir listesi hazırlanmış ; tam 49 adet uygulama !
Bu listeye http://speckyboy.com/2009/07/27/49-free-windows-mobile-6-smartphone-apps-and-services/ adresinden ulaşabilir, uygulamaları cep bilgisayarınıza indirebilirsiniz.
22 Temmuz 2009
Windows Mobile 6.5 Gesture API Documentation
Merhaba,

21 Temmuz 2009
Windows Marketplace for Mobile Açılıyoor !
Merhaba,
Windows Mobile 6.5 ile birlikte hayatımıza girecek olan belkide en heyecan verici olan yenilik Marketplace, 27 Temmuz' da uygulama gönderimi için kapılarını "belirnenen ülkelerde" uygulama geliştiricilere açıyor ! Marketplace kavramını ilk kez duyanlar için isterseniz ne olduğu ile ilgili hızlıca bir üzerinden geçelim.
IPhone' un çıkmasıyla birlikte Apple bu zaman sürecinde hem kendisine, hem de IPhone kullanıcılarına ciddi anlamda gelir getiren bir pazar projesine imza attı ; AppStore. AppStore, adından da anlaşılabileceği üzere IPhone uygulama geliştiricilerinin geliştirdikleri uygulamaları deploy ettikten sonra free / ücretli olarak kullanıcılara satabildiği ve kullanıcıların bu içeriğe istedikleri her noktadan IPhone' ları üzerinden erişebildikleri bir "sanal dükkan" olarak tâbir edilmektedir. Apple ve IPhone kullanıcıları bu "sanal market" üzerinden milyonlarca dolar gelir elde etmiş, halen gelir elde etmeye devam etmektedir.
Bu noktada bakıldığında farkedilen en büyük yanılgı, IPhone kullanıcıları ile Windows Mobile kullanıcılarının dünya üzerindeki sayısı ve bu platformlar üzerindeki aktiflikleridir. Windows Mobile sanılanın aksine dünya üzerinde 50 cihaz üreticisinin ve 160 mobil cihaz operatörünün toplam 55 ülkede desteklediği ve kullandığı "devasa" bir kullanıcı kitlesine sahiptir. Bu rakamlar göz önüne alındığında ise heyecan verici bir pazarın ; AppStore gibi bir yapının Windows Mobile tarafında olması kaçınılmazdı. Ve Microsoft bekleneni yaptı, Windows Mobile 6.5 ile birlikte dünya üzerinde Windows Mobile üzerine farklı Level' larda uygulama geliştiren uygulama geliştiricilerin para kazanabilecekleri, aynı zamanda kendisinin de gelir elde edebileceği "online bir market" ; MarketPlace' i oluşturdu !
MarketPlace, aynı AppStore' da olduğu gibi Windows Mobile 6.5 kurulu cihazımızın üzerinde işletim sistemine entegre olarak gelecek olan ve bu markete erişebilecek bir mobil cihaz yazılımıdır. Alınan son süpriz bilgilere göre MarketPlace Windows Mobile 6.0 ve Windows Mobile 6.1 üzerine de kurulabilecektir ; fakat halen bu kurulumun nasıl gerçekleşeceği ile ilgili bir bilgi verilmemektedir. Bu şu demek ; geliştirdiğiniz uygulama ile dünya üzerindeki TAM 30 MİLYON kullanıcıya ulaşabileceksiniz ! Wow !
MarketPlace bu noktada çok ama çok ciddi bir pazar oluşturmakta ve dünya üzerindeki Windows Mobile uygulama geliştiricilerini ciddi anlamda heyecanlandırmaktadır. Kısa zaman içerisinde maalesef Türkiye'nin arasında olmadığı Australia, Austria, Belgium, Brazil, Canada, Denmark, Finland, France, Germany, Greece, Hong Kong SAR, India, Ireland, Italy, Japan, Luxembourg, Mexico, New Zealand, Netherlands, Norway, Poland, Portugal, Singapore, Spain, Sweden, Switzerland, Taiwan, United Kingdom, and the United States ülkelerinde hizmete açılacak ; bu ülkelerde uygulama geliştiren kişiler uygulamalarını belirli bir ücret karşılığında (şu aşamada 99 $) MarketPlace üzerine gönderebileceklerdir.
MarketPlace üzerinde birçok farklı kategoride uygulamalar sergilenebilecektir. Bunlardan en önemlisi Business Center olarak tâbir edilen "iş ihtiyaçlarına uygun profesyonel uygulamalar" olacaktır diye beklenmektedir. Bu kategoride firmalar uygulamalarını sergileyebilir, geliştirdikleri uygulamaları yüzlerce, binlerce kullanıcıya ulaştırabilmektedirler.
MarketPlace' in kısa zaman içerisinde ülkemize geleceğinden şüphe yoktur.
Bu noktada MarketPlace ile ilgili Windows Mobile product manager' lardan Todd Brix' in konu hakkında hazırladığı video' yu http://channel9.msdn.com/posts/MaxZuck/WindowsMarketplaceForMobile/ adresinden izleyebilirsiniz.
MarketPlace ile ilgili bu süreçte http://developer.windowsmobile.com/ adresinden takip edebilirsiniz.
MarketPlace' in tüm detayları ile ilgili kısa zaman içerisinde çok daha detaylı yazılar yazacağım, şimdilik görüşmek üzere.
20 Temmuz 2009
Windows Mobile 6.5 - Widget' ların Lokalize Edilmesi
Genel olarak bakıldığında, WM 6.5 üzerinde geliştirdiğiniz widget' lar zaman içerisinde farklı bölgesel dil ayarlarına sahip cihazlar tarafından kullanılabilecektir. Bu tip durumlarda kullanıcıların ihtiyaçlarına daha doğru cevap verebilmek adına geliştirdiğiniz widget’ ın ilgili cihazın bölgesel dil ayarlarına göre lokalize olmasını isteyebilirsiniz. Bu yazımızda farklı bölgesel dil ayarlarına göre kendi kendini otomatik olarak lokalize eden Widget’ lar üzerinde çalışacağız.
Konumuza başlamadan önce lokalizasyon kavramına kısaca değinmek, temel mantığını kavramak mantıklı olacaktır. Lokalizasyon, kelime anlamı localization yani bölgeselliştirme kelimesinden gelmektedir. Bölgeselleştirme kelimesinin ise yazılım geliştirme ortamındaki kelime anlamına bakıldığında, geliştirilen uygulamanın farklı dil / bölgelere göre “eğer daha önceden hazırlanmış” ise ilgili değişiklikleri otomatik olarak gerçekleştirmesidir.
Bu noktada bölgesel ayarlara bakıldığında temel olarak iki farklı parametre görmekteyiz. Bu parametreler ;
dil – BÖLGE
olarak incelenebilmektedir. Örnek vermemiz gerekirse ; en-US lokalizasyon değeri Amerika’ da konuşulan ingilizce dilini temsil etmektedir. Bu noktada en-UK değerinin sisteme tanımlanması, ingiliz aksanına uygun bir bölgeselliştirme / lokalizasyon yapıldığı anlamına gelmektedir.
Bu mini bilgilendirmenin sonunda hızlı bir şekilde örneğimize başlayalım. Amacımız standart olarak tr-TR olarak ifade edilen Türkiye türkçesi ile çalışan, fakat eğer cihaz üzerindeki değer amerikan ingilizcesi olarak belirlenmiş ise bu değere uygun bir arayüz göstermek olacaktır.
Bu noktada işin en keyifli kısmı ise bu işlemi gerçekleştirmek için çok az bir efor sarfedecek olduğumuzdur. Örneğimize geçmeden önce WM 6.5 üzerinde Widget’ ımızın test edilebilmesi adına Bölgesel ayarların nereden değiştirilebildiğine bir göz atalım. WM 6.5 kurulu mobil cihazımızda sırasıyla ;
Start -> Settings -> System -> Regional Settings
seçenekleri üzerinden ilgili değeri değiştirebilirsiniz.
Bu değerin hangi noktadan değiştirilebildiğine değindikten sonra hızlı bir şekilde widget’ ımızı geliştirmeye başlayalım. Widget’ ın yapısı hakkında bir önce yazmış olduğum yazıdan faydalanabilirsiniz.
Widget’ ların lokalize edilmesi daha öncede belirttiğimiz üzere çok kolaydır. Bu noktada standart olarak çalıştırılacak dilde dosyaların hazırlanması, eğer varsa “uygun lokalize ayarlara” göre çalıştırılacak dilde dosyaları da ayrıca hazırlamamız gerekmektedir. Örneğimizde Widget’ ın içeriğini oluşturan HTML dosyası lokalize edilmiş, farklı dillere göre iki farklı dosya oluşturulmuştur.
Türkçe hazırladığımız HTML içerik dosyası.
Bu ise amerikan ingilizcesi (en-US) bölgesel dil ayarlarına sahip cihazlarda çalıştırılmasını istediğimiz içerik dosyasıdır.
Peki bu noktada işlemler nasıl devam etmektedir ?
Widget engine çalışma zamanında ilk olarak dil ayarlarınıza bakar. Daha sonra widget’ ın içeriğinde bu dil ayarlarına “birebir uygun olarak isimlendirilmiş” bir klasör arar ! Eğer bu klasörü bulabilirse içeriği tamamen klasör içerisinden, bulamaz ise root’ tan çalıştırır ! Hepsi bu kadar ! Bu noktada dikkat etmemiz gereken noktalar nelerdir ?
Dosyaların içeriğinin farklı olması ve onları farklı klasörlere koyacak olmamız isimlerini farklı verecek olduğumuz anlamına gelmemektedir. Çünkü widget’ ın konfigurasyon dosyası (config.xml) tek bir tane olup sadece root’ ta bulunmaktadır. Dolayısıyla lokalize ettiğimiz tüm içeriği (bu bir *.js dosyası da olabilir) aynı isimle isimlendirmemiz gerekmektedir. Ve bir sonraki aşamada root’ un içine uygun bölgesel dil ayarlarının ismine sahip bir klasör oluşturmalı, dosyayı bu klasörün içerisine yerleştirmeliyiz. Son görünüm aşağıdaki gibi olmalıdır.
Klasörün içerisine girdiğimizde ise ;

Tek bir dosya bulunmaktadır. Dikkat edecek olursanız lokalize etmek istediğimiz dosyaları aynı isimle uygun klasörün içerisine yerleştirdik. Peki konfigurasyon dosyası bu noktada nasıl hazırlanmalıdır ?
Dikkat edecek olursanız dosya içerisinde lokalizasyon ile ilgili en ufak bir ayarlamada bulunmadık. Sistem run-time’ da işlemi otomatik olarak gerçekleştirmekte ve uygun dosyayı bulup çalıştırmaktadır. Bu noktada sayfayı iki kez hazırlamak yerine javascript fonkyisonunu external bir *.js dosyası içerisine yerleştirip sadece bu *.js dosyasını lokalize de edebilirdik.
Sıra geldi uygulamamızı paketlemeye ! Her zaman olduğu gibi önce tüm dosyaları (klasör dahil) seçip *.zip haline, daha sonra *.wgt uzantılı haliyle kaydediyoruz.
İşte bu kadar ! Haydi widget’ ımızı makinemizin üzerine gönderelim.
Kurulum aşamasında default language olan Türkçe değerler görünmektedir. Örneğimizde makinemiz (emülatörümüz) ilk açıldığında dil ayarları türkçe olarak gelmekte, dolayısıyla uygulamayı ilk çalıştırdığımızda lokalizasyon türkçe olarak gerçekleşmektedir.
İşte türkçe widget’ ımız ! Dil ayarlarını en-US olarak değiştiriyoruz.
Ve makinemize Soft Reset atıyoruz. Widget’ ımızı tekrar çalıştırıp selamla tuşuna bastığımızda (Selamlar yazısını da bu noktada daha önceden lokalize edebilirdik) ;
İşte sonuç ! Çalışma zamanında lokalizasyon gerçekleştirilmiştir !
Bir başka yazımızda görüşmek dileğiyle. Keyifli günler. Devamını Oku...
11 Temmuz 2009
Silverlight 3.0 Çıktı !
Merhaba,
Heyecan verici bir haberi sizlerle paylaşmak istiyorum. Her ne kadar mobil tarafındaki çalışmalar sürsede, RIA (Zengin Internet Uygulamaları) noktasında Microsoft' un mükemmel çözümü Silverlight' ın 3.0 sürümü dün sahalarda yerini buldu. Silverlight 3.0 ile ilgili tüm detaylara ve ilgili pakete http://silverlight.net/GetStarted/ adresinden erişebilir, Silverlight 3.0 uygulamaları geliştirmeye hızlıca başlayabilirsiniz.
5 Temmuz 2009
Windows Mobile 6.5 - Widget Geliştirmek
Bu yazımızda yakın zamanda hayatımıza hızlı bir giriş yapacak olan Windows Mobile 6.5’ un developer tarafında getirdiği belkide en heyecanlı yenilik olan Widget kavramını tanıyacak, Windows Mobile 6.5 üzerinde çalışabilecek örnek bir widget geliştireceğiz.
Önümüzdeki sene çıkarılması hedeflenen ve mobil cihaz deneyimimizi tamamen değiştirecek Windows Mobile 7 için çalışmalar hızla süredursun, Microsoft süpriz bir kararla belkide bu süre zarfında Windows Mobile kullanıcıları ve Windows Mobile üzerine uygulama geliştiren uygulama geliştiricileri belirli bir süre tatmin edecek seviyede bir “ara” işletim sistemi geliştirdi ; Windows Mobile 6.5 !
Windows Mobile 6.5’ un yeniliklerine genel olarak bakıldığında iş süreçleri, son kullanıcı ve developer gibi farklı kategorilerde birçok yenilik göze batmaktadır. SkyMarket (MarketPlace), yepyeni kullanıcı arayüzü, geliştirilmiş dokunmatik altyapı gibi yenilikler Windows Mobile 6.5’ u piyasadaki rakiplerinden öne çıkarmakta, son kullanıcıya ise daha önceki sürümleri ile karşılaştırıldığında daha kullanışlı gelmektedir.
Bu yazımızda ise belki türkçe kaynaklarda çok fazla detayına inilmeyen, yakın zamanda ortalığı kasıp kuvaracak, Windows Mobile 6.5 Developer tarafındaki belkide en heyecanlı kavramdan bahsedeceğiz, Widget ‘ lar ! Hiç vakit kaybetmeden Widget kavramının Windows Mobile 6.5’ ta (Bu noktadanitibaren WM olarak anılacaktır) ne ifade ettiğinden ve genel yapısından bahsedelim.
Widget Nedir ?
Temel olarak bakıldığında Windows Vista üzerinde HTML ve CSS gibi web uygulama geliştirme noktasındaki iki gücü bir araya getirerek ve JavaScript’ in istemci taraflı yeteneklerini bir araya getirerek Web üzerinden veri çekebilen, masaüstümüzü renklerdiren ve farklı amaçlara yönelik binlerce örneği geliştirilen bir kavram söz konusuydu, Gadget’ lar.
Gadget’ lar farklı bir uygulama geliştirme metodolijisiyle, web uygulama geliştirme teknikleri ile birlikte kullanıcıların masaüstlerinde hayatlarını ciddi anlamda kolaylaştıran, minik programcıklar olarak ifade edilebilmektedir. Gadget’ lar ile anlık hava durumu, borsa bilgileri, trafik bilgileri gibi bilgileri tek tıklamayla alabilmekte, tüm bunları tek noktadan gerçekleştirebilmekteydik.
Widget’ lar için yukarıdaki tanıma bakarak, HTML, DHTML ve CSS’ in tasarımsal gücü ile JavaScript ve AJAX’ ın istemci tarafındaki gücünü biraraya getiren, Windows Mobile cihazımız üzerinde çalıştırılabilecek web tabanlı küçük programcıklar diyebilmekteyiz.
Widget ve Internet Explorer Mobile :
Yukarıdaki tanımları okuyan birçok uygulama geliştiricisinin aklındaki en temel soru şu olmaktadır : “Biz Internet Explorer Mobile ile mobil cihazımız üzerinden internet üzerindeki verilere zaten ulaşabilmekteyiz, Widget’ ın ne farkı varki ?”
Genel olarak bakıldığında Widget ile Mobil cihazımız üzerinden IE Mobile ile ulaştığımız web sitelerinden aynı verileri çekebilmekteyiz. İşte bu noktada ciddi anlamda farklar ortaya çıkmaktadır.
İlk olarak düşünüldüğünde, standart bir web sitesi / uygulaması üzerinde bir istekte bulunduğumuzda sunucu üzerinde gerçekleştirilecek postback çağrılarında beklemeler yaşanabilecek, mobil cihazımız ile operatörümüz arasında ciddi bir network trafiği yaşanacaktır. Peki Ajax kullansak bile bu trafik aynımı kalacaktır ? Tabiki hayır, Ajax teknolojisi bu network trafiğini ciddi anlamda azaltmakta, fakat her koşulda bir web çağrısında HTML, CSS v.b. yapılar uzak noktadan çağrılmakta, anlamsız bir web trafiği oluşmaktadır.
Widget’ lara bakıldığında ise ciddi anlamdaki ilk farkı bu noktada görebilmekteyiz. Widget’ lar HTML, CSS, Script gibi yapıları makinemizin lokalinden kullanan, uzaktan bir çağrıya bu kavramlar için ihtiyaç duymayan yapılardır. Sadece uzak bir veriye ihtiyaç duyulduğunda uzak çağrı gerçekleştirilmektedir, bunun dışındaki imajlar, html verileri, css v.b. yapılar lokalde depolandığından bu çağrılar gerçekleştirilmemekte, network trafiği ciddi anlamda azaltılmaktadır.
Bunun dışında standart web uygulamalarından farklı olarak, JavaScript ortamından Widget API’ sine yapılacak çağrılar ile makinemizin fiziksel SoftKey’ lerine menüler atayabilme, lokalde veri depolayabilme gibi web uygulamalarında olmayan özelliklere sahip olabilirsiniz.
Widget’ lar tam ekran olarak çalıştırılan uygulamalardır. Bu uygulamalar çalıştırıldığında kullanıcılar çalıştırılan uygulamanın Widget olup olmadığını tek görüşte anlayamamaktadırlar. Bunun sebebi bu küçük web tabanlı uygulamayı Start Menü altından açabilmekte, çalıştırıldığında formatı gereği Internet Explorer Mobile üzerinden çalıştırılmamaktadır.
Dahada enteresan olarak Widget’ lar arka planda Internet Explorer Mobile’ ın güçlü motorunu kullanmaktadır.
Widget Genel Yapısı
Widget olarak adlandırılan programcıklar temel olarak 3’ ü gerekli toplam 6 parçanın bir araya gelmesinden oluşmaktadır.
config.xml – Widget metadata bilgisinin tutulduğu konfigürasyon dosyasıdır. (Gerekli)
Widget için *.ico, *.png, *.jpg – Widget’ ın kurulumundan sonra widget’ ın start menü’ de hangi resim ile görüleceğini belirtir. (Gerekli)
*.js – HTML dosyası içerisinde kullanılan ekstra script dosyaları (Gerekli Değil)
*.css – HTML dosyası içerisinde kullanılan CSS dosyası. (Gerekli Değil)
Ekstra Kaynaklar – Ekstradan kullanılan resimler, flash dosyaları v.b (Gerekli Değil)
İsterseniz hiç vakit kaybetmeden hızlı bir şekilde örnek Widget’ ımızı adım adım geliştirmeye başlayalım. İlk aşamada Widget’ ımızın içeriğini oluşturacak olan HTML dökümanımızı, yani content elementi üzerinde çalışalım.
Yukarıdaki kod bloğunda basit anlamda bir HTML dökümanı oluşturulmakta, sayfa içerisine yerleştirilen button’ a tıklandığında JavaScript fonksiyonu ile ekrana bir mesaj kutusu getirilmektedir.
Dosyamızı WidgetContent.html ismiyle kaydediyoruz.
İşte Widget’ ımız hazır ! Sıra geldi Widget’ ın paketlenmesi için gerçekleştirilmesi gereken çalışmalara.
Widget genel yapısı bölümünde ifade edildiği üzere Widget’ ın mobil cihazımız tarafından tanınabilmes, kurulabilmesi ve çalıştırılabilmesi için “gerekli” olan bazı yapılar bulunmaktadır. Bunlardan ilki olan kaynak HTML dökümanını oluşturmuş olmamız Widget’ ın çalıştırılabileceği anlamına gelmemektedir.
Widget’ ın işletim sistemi üzerinde tanınabilmesi ve çalıştırılabilmesi için ilk olarak “manifest” adı verilen ve belirli kurallara göre oluşturulması gereken bir xml konfigürasyon dosyası oluşturulmalıdır.
Bu dosyanın adı config.xml olarak kaydedilmeli ve Widget’ ı oluşturan diğer parçalar ile aynı lokasyonda olmalıdır.
Peki bi config.xml dosyasını hangi structure’ a göre oluşturacağız ? Widget’ ın doğru çalışabilmesi için xml structure’ ı ne olmalıdır ?
Microsoft, Widget altyapısını hazırladıktan sonra bu standartizasyon ile ilgili W3C üzerinde hızlı bir şekilde bir standart oluşturdu ve olması gereken xml structure’ ını bu şema üzerinden belirledi.
Bu standartizasyona http://www.w3.org/TR/2008/WD-widgets-20081222/ adresinden ulaşabilir, hangi element’ in altına hangi elementlerin gelebileceğine ve tüm özelliklerine detaylı olarak bakabilirsiniz. Bu yazımızda konfigürasyon konusunda detaylı olarak eğilmeden standart konfigürasyon yapısını örneklendireceğiz.
Genel olarak bakıldığında config.xml dosyası Widget standartlarında olabilmesi için
Widget’ ın network erişimi ile ilgili ayarları yapmanıza olanak sağlar.
Widget’ ı geliştiren kişi ile ilgili detaylı bilgilendirme vermeye yarar. Opsiyonal olarak href, email ve img attribute’ ları ile ekstra detaylı bilgiler verilebilmektedir.
Kesin olarak eklenmesi gereken alt elementtir. Bu element’ in src attribute’ u ile Widget’ ın HTML dökümana olan bağlantısı belirlenir.
Widget hakkında detaylı bilgilendirme yapılabilir. Bu element’ e verdiğiniz değer yükleme esnasında ekranda görünmektedir.
Bu element ile Widget kurulduktan sonra Start Menu’ de hangi ikon ile görüneceğini belirleyebilirsiniz. Src attribute’ u ile dosyanın adını belirleyebilirsiniz.
Widget’ a kullanıcı dostu bir isim vermek için kullanabilirsiniz. Bu isim Start Menu ve Remove Programs ekranlarında görülebilmektedir.
Yukarıdaki bilgilerin ışığında örnek Widget’ ımız için config.xml dosyamızı şekildeki gibi oluşturuyoruz.
İşte config.xml dosyamız hazır ! Dikkat edilecek olursa Widget’ ın Start Menu’ de görünebilmesi için bir icon değeri belirledik. Bu dosyası bu isimde diğer dosyalarla aynı lokasyona yerleştirmeliyiz.
En son olarak aşağıdaki görünümü elde etmeliyiz ;
Dikkat edilecek olursa ilgili 3 dosyayı aynı lokasyona yerleştirdik.
Ve sıra geldi en heyecanlı noktaya ; Widget Paketleme !
Widget Paketleme
Microsoft Widget’ ların paketlenmesi ve dağıtımı ile ilgili inanılmaz mantıklı bir yöntem uygulamaktadırlar. Widget genel olarak iki şekilde cihazınız üzerine yüklenebilmektedir. Birincisi Skymarket olarak adlandırılan servis üzerinden belirli bir ücret karşılığında, yada self- deployment olarak ifade edilen “kopyala – yapıştır” yöntemiyle. Biz bu yazımızda Cihaz Emülatörü üzerine widget dosyamızı kopyalayarak yükleme işlemini gerçekleştirecek ve Widget’ ımızı çalıştıracağız.
Peki Widget dosyamızı nasıl oluşturacağız ? Bu iş sandığınızdan çok daha kolay.
Yukarıdaki ekran görüntüsünde gördüğünüz dosyaları seçerek biz *.zip dosyası haline getirelim. Ve bu zip dosyasının uzantısını *.wgt olarak değiştirelim. İşte bu kadar !
Önce zipledik !
Daha sonra uzantısını değiştirdik ! Artık bu dosyayı emulatör yada fiziksel cihazımız üzerine kopyalarak Widget’ ımızı kurabilir ve kullanmaya başlayabiliriz.
Hiç vakit kaybetmeden Windows Mobile 6.5 Emulatörümüzü başlatıyoruz.
Emülatörümüzü seçip üzerine sağ tıkladıktan sonra Connect seçeneğine tıklıyoruz.
Emülatör açıldıktan sonra Ayarlarından “Shared Folder” olarak wgt dosyamızın bulunduğu lokasyonu belirliyoruz. Bu seçenek ile Emülatör üzerinde “Storage Card” olarak bu klasöre erişebilir, dosyamızı çalıştırabiliriz.
Emülatörden dosyanın üzerine tıklıyoruz ve yüklemeye başlıyoruz ;
Eğer konfigürasyon dosyasında herhangi bir hatamız yok ise Widget dosyamızın üzerine tıkladığımızda ;
Yes ‘ e tıklıyoruz ;
İşte Widget’ ımız ! Widget, FullScreen olarak sanki native bir uygulamaymış gibi ekranımıza gelmektedir. Widget üzerindeki tuşa tıkladığımızda ise ;
İşte bu kadar. Widget’ a istediğimiz zaman Start Menu altından erişebiliriz.
Yazımızın sonuna gelmeden önce belirtmek gerekirki bu yazıda değinilmeyen birçok konuya sonraki yazılarda değinilecektir.
Başka bir yazıda daha görüşmek dileğiyle.
4 Temmuz 2009
OpenNETCF.IoC Framework
Merhaba,
Gördüğüm zaman beni çok heyecanlandıran, çok başarılı devam eden ve CodePlex üzerinde Open-Source olarak gelişimini sürdüren bir proje hakkında bilgilendirmek istiyorum ; OpenNETCF.IoC Framework !
Evet, yanlış okumuyorsunuz, IoC (Inversion Of Control) ve Dependency Injection prensiplerini "Mobil Cihaz Uygulamaları" geliştirme aşamasında kullanabilmek adına geliştirilen bu paket, OpenNetCF' nin kurucusu tarafından Chris Tacke tarafından CodePlex ortamına yerleştirilmiş ve gelişimine devam etmektedir.
Kendisinin bize belirttiği üzere bu paketi birkaç kurumsal uygulamada kullanmış, ve ciddi anlamda başarılı olmuş.
Kurumsal anlamda Mobil Cihaz uygulama geliştiricileri için çok başarılı bir proje olduğunu düşünüyorum.
Paket ile ilgili detaylı bilgiye ; http://ioc.codeplex.com/ adresinden erişebilir, konu ile ilgili yazılmış ;
Introduction to IoC and the Compact Framework
The OpenNETCF.IoC Framework: Items and Services
Makalelerine yukarıdaki linklerden erişebilirsiniz.
Select Top 1000 Rows / Edit Top 200 Rows
Merhaba,
Sql Server 2008 üzerinde default olarak herhangi bir tablonun üzerine sağ tıkladığınızda çıkan context menu' de "İlk 1000 Satırı Seçmeye" ve "İlk 200 Satırı Düzenlemeye" yarayan scriptleri üreten MenuItem' lar bulunmaktadır.
Bu noktada herhangi bir sorun söz konusu değil, peki ya biz tek seferde 1000' den fazla kayıt görüntülemek ya da 200' den fazla satırı tek ekranda düzenlemek istiyorsak ne yapmalıyız ?
Standart olarak bu değerleri direk değiştiremesekte, Ayarlar üzerinden bu değerler ile oynayabiliriz.
Sql Server 2008' de ; Tools -> Options -> Sql Server Object Explorer' a girdikten sonra ;
Yukarıdaki ekran görüntüsünde ilgili değerler ile oynayarak bu değerleri değiştirebilirsiniz. Değerleri 0 (Sıfır) olarak ayarlarsanız "Tüm Kayıtlar" olarak değerlendirilecektir.
Devamını Oku...2 Temmuz 2009
Güzel Bir Söz
Merhaba,
Nette karşılaştığım bir sözü sizlerle paylaşmak istiyorum. Belkide hayattaki her noktaya, her sektöre uygun bir cümle,
"Güzel cevap her zaman daha güzel soruyu sorana verilir. E. E. Cummings"