30 Mayıs 2012 Çarşamba

LS5 - Windows Phone Uygulaması için SplashScreen Oluşturmak

imageYüklenmesi bir-iki saniyeden daha uzun süren uygulamalar için, kullanıcıya uygulamanın açılma sürecinin başladığını en hızlı biçimde belirtebilmek adına SplashScreen (Açılış/Bekleme Ekranı) kullanılması tavsiye edilir.

Bir uygulamayı açmak için Başlangıç Ekranına pinlenmiş olan Tile üzerine ya da uygulama ikonuna ilk dokunulduğunda, uygulama açılış süreci başlar başlamaz SplashScreen (Açılış/Bekleme Ekranı) görüntülenir ve uygulamanın ilk sayfasına navigasyon tamamlanana kadar ekranda kalır. Detaylar için buradan bilgi alabilirsiniz.

Ayrıca aşağıdaki video’da faydalı olacaktır.

29 Mayıs 2012 Salı

LS4 - Windows Phone için ilk Uygulamanızı Geliştirin: Silverlight mı? XNA mi?

Uygulama geliştirmeye başlamadan önce, bu işi Silverlight ile mi XNA Framework ile mi yapacağınıza karar vermelisiniz. Genellikle uygulama geliştirirken Silverlight, oyun geliştirirken de XNA Framework tercih ediliyor. Karar vermeden önce, geliştireceğiniz uygulamanın tipini, uygulamanızın neler yapacağını ve hedeflediğiniz son kullanıcıların kimler olduğunu düşünün. Karar sonrasında ilk adımı atmak için aşağıdaki linkleri kullanabilirsiniz.

Silverlight ile ilk Windows Phone Uygulamanızı Geliştirin

image

XNA Framework ile ilk Windows Phone Projenizi Geliştirin

image

26 Mayıs 2012 Cumartesi

Model-View-ViewModel (MVVM)


Katmanli mimarilerle gelistirilmis yazilimlarin cogunda MVC yani Model View Controller kullanildigina cogu kez sahit olmussunuzdur. Bu sefer incelemek istedigim konu ise MVVM’di.
MVVM yani Model – View – ViewModel…
Isminden de anlasilacagi gibi bir Presentation Layer (Sunum Katmani) icin kullanilan Design Pattern (Tasarim Deseni)’dir. Makalemde MVVM’den biraz bahsettikten sonra, basit bir uygulama ile aslinda arastirmama bir virgul koyacagim…


Windows Phone 7.1 Launcher yapıları ve kullanımı

Bu makale ile Windows Phone 7.1 uygulamalarımız da kullanacağımız Launcher yapısını ve neler yapabileceklerimizi görüp, küçük bir örnek yapacağız.


Launchers yapısı sözlük anlamıyla da Başlatıcılar, Windows Phone ile uygulama geliştirirken sıklıkla kullanacağımız için önemli bir yere sahiptirler. Uygulama geliştirirken telefonla bağıntılı olarak bir takım işlemler yaptıracağımız da bizim yardımımıza koşacak olan bu yapı bir sonraki makalem de işleyeceğim Choosers yapılarından farklı olarak geriye bir değer döndürmeden işlemleri yürütmektedir.
Küçük bir örnek verecek olursak, uygulamamız bir işi gerçekleştirmenin sonucunda sms ile haber vermesi gerekiyor. Bu durumda launchers yapıları ile belirlediğimiz bir telefon numarasına istediğimiz mesajı kullanıcının onayından geçmek suretiyle yollayabiliriz.
Launchers yapısını kullanmak için Microsoft.Phone.Tasks namespaceini projemize ekleyelim.
Aşağıdaki tablo da ise kullanacağımız genel Launcherları inceleyelim ;
EmailComposeTask Kullanıcının telefon üzerinde oluşturduğu e-mail hesabı üzerinden e-mail yollamamızı sağlar.
MarketplaceDetailTask Kullanıcıya Windows Phone Marketplace üzerinde ki bir uygulamanın detay sayfasını açmayı sağlar.
MarketplaceHubTask Windows Phone Marketplace uygulamasını açmayı sağlar.
MarketplaceReviewTask Windows Phone Marketplace üzerinde ki bir uygulamanın değerlendirme sayfasını açmayı sağlar.
MarketplaceSearchTask Windows Phone Marketplace üzerinde bir uygulama aramamızı sağlar.
MediaPlayerLauncher Telefon üzerinde ki Media Player uygulamasını açmayı sağlar.
PhoneCallTask Verilen numara ile telefon edilmesini sağlar.
SearchTask Telefon ya da Web üzerinden arama yapmamızı sağlar.
SmsComposeTask SMS yollayabilmemizi sağlar.
WebBrowserTask Telefon üzerinde ki WebBrowser uygulamasını açmamızı sağlar.

İlk Windows Phone 7.1 Uygulamamız

 Bu makale de Windows Phone 7.1 ile nasıl proje geliştirilebileceğini küçük bir "Merhaba" örneği ile açıklayıp, mimari ve kontrolleri tanıyacağız.

 Bu adresten indirip yüklediğimiz Windows Phone 7.1 SDK ile ilk projemizi yaratmak üzere Visual Studio IDE'lerimizi açalım.


25 Mayıs 2012 Cuma

LS2 - XAML ile Windows Phone Kullanıcı Arayüzünü (UI) Oluşturun

imageAklınızdaki uygulama için güzel bir Windows Phone Kullanıcı Arayüzü (UI) tasarlamanız gerektiğinde kullanmanız gereken dil XAML. Deklaratif bir dil olan XAML, ilk olarak WPF ve Silverlight Uygulamaları geliştirirken karşımıza çıkmıştı. Şimdi de, Windows Phone ve Windows 8 uygulamaları geliştirirken kullanılıyor. Windows Phone üzerinde Silverlight uygulamalarının kullanıcı arayüzü (UI); Yani, kontroller (controls), şekiller (shapes), metinsel ifadeler (text), ve ekranda sunulan diğer içerik de XAML ile tasarlanıyor. Detaylar için buradan bilgi alabilirsiniz.

LS1 - Metro Tasarım İlkeleri: Windows Phone Uygulama Tasarımı

Makaleden çok link paylaşımı şeklinde ilerleyeceğim bir seri ile içerik konusunda yönlendirici olmayı hedefliyorum. İlk linklerimiz bu post’ta.
Başlamadan önce, Windows Phone SDK’yı ve güncellemesini indirip kurun. Metro-tabanlı Windows Phone Tasarım ilkeleri ile ilgili bilgiler için burayı tıklayın. Ek olarak buraya da bakabilirsiniz.
image

24 Mayıs 2012 Perşembe

Nokia’dan Windows Phone 8’li ilk Telefon: Nokia Phi

image

Nokia’nın uzun zamandır henüz beta olan işletim sistemi Windows Phone 8 üzerinde çalışıyordu. Sonunda bu cihazlardan biri WP Bench üzerinde görüldü.

WP Bench uygulaması ile yapılan bir değerlendirme sonucunda sol tarafta gördüğünüz durum ortaya çıktı. Cihazın adı Nokia Phi ve Windows Phone 8 ile çalışıyor.

Windows Phone 8’in elde edilen işletim sistemi yapı numarası ise 8.0.9698.0

Kaynak: image

23 Mayıs 2012 Çarşamba

MEA Windows Phone Camp (25-26 MAYIS)

image

Kayıt için: https://msevents.microsoft.com/cui/EventDetail.aspx?culture=tr-TR&EventID=1032513585&IO=gNfk74CZG3vwop5BnsaBVg%3D%3D

MEA Windows Phone Camp, 25-26 MAYIS tarihlerinde Microsoft Istanbul Ofisinde gerçekleşecek. Etkinlik sonunda geliştirdiğiniz Windows Phone uygulamasını, Marketplace’e gönderebileceksiniz. Katılma şansı olmayanlar etkinlikleri aşağıdaki link üzerinden canlı olarak izleyebilirler.

MEA Windows Phone Camp Canlı İzle

Etkinlik ingilizce olarak gerçekleşecek ve simultane Türkçe çeviri yapılıyor olacak.

Ayrıca, Açık Akademi facebook sayfasında, üyeler için bazı sürprizler olacağı duyuruldu.

Windows Phone Uygulama geliştirme konusunda tüm sorularınıza konu uzmanlarından cevaplar bulabileceğiniz Windows Phone Clinic Hours etkinlik boyunca açık olacak. Etkinliğe katılamıyorsanız sorularınızı online soru-cevap oturumlarında sorabilirsiniz.

Windows Phone Clinic Hours için buradan kayıt olabilirsinz.

Windows Phone Accelerometer Nasıl Çalışır?

Muhammed Baykal’ın anlatımıyla “Windows Phone Accelerometer Nasıl Çalışır?

Windows Phone'un derinliklerine indiğimiz bu videoda, cihazın içinden çıkardığımız accelerometer'ın çalışma mantığını en mantıklı şekilde anlatıyoruz.

Daha ileri seviye bir anlatım için de aşağıdaki videoyu kullanabilirsiniz.

Marketplace, Windows Phone 7.0’dan Erişime Kapanıyor

image22 Mayıs 2012’den itibaren Marketplace üzerindeki download, satın alma, güncelleme ve uygulamaya yorum yapma gibi işlemleri gerçekleştirmek isteyenler, telefonlarını Windows Phone 7.5’e güncellemek zorunda kalacaklar.

Detaylar için: http://windowsteamblog.com/windows_phone/b/windowsphone/archive/2012/05/22/starting-today-you-need-windows-phone-7-5-to-use-marketplace.aspx

12 Mayıs 2012 Cumartesi

Windows Phone: InputScope kullanımı

Bu yazımızda InputScope kavramını bir örnekle inceleyerek, nerelerde ve nasıl kullanabileceğimizi göreceğiz.

Bildiğiniz gibi Windows Phone uygulamalarında kullanıcı veri girişini dokunmatik sanal klavye aracılığıyla gerçekleştiriyor. Metinsel veri girişi yapılabilecek bir nesne üzerine odaklanıldığında (focus), sanal klavye otomatik olarak açılıyor. Klavyenin açılması için programatik olarak herhangi bir işlem yapılması gerekmiyor. Ama, InputScope kullanarak standard sanal klavye yerine ihtiyaca göre özelleştirilmiş bir sanal klavyenin açılması sağlanabilir. Örneğin; telefon numarası girilecek olan alan için sadece sayısal değerlerin yer aldığı bir klavye ya da email girilecek alan için @ işaretine direkt ulaşılabilecek olan bir klavye gibi. Şimdi, InputScope kullanımını ele alacağımız bir form tasarımı yapalım. Formu, toolbox içerisinden gerekli kontrolleri sürükleyip bırakarak, aşağıdaki gibi tasarlayabilirsiniz.

InputScope Ornegi Kayit Sayfasi

Bu uygulamada senaryomuz, web sitesini bir index’e kayıt ettirmek isteyen bireysel kullanıcının ihtiyacını karşılamak. Bu amaçla kullanıcı tarafından doldurulacak olan formu ele alıyoruz. Form üzerinde e-Mail Adresi, Şifre, Telefon Numarası ve Web Sitesi girişi için kullanılacak metin kutuları dışında bir de bilgilerin gönderilmesi için kullanılacak buton yer alıyor.

Kullanıcıdan e-Mail adresini alacağımız metin kutusuna dokunulduğunda mail adresi içerisinde kullanılan özel karakterlerin yer aldığı bir sanal klavye açılması kullanıcının işleri daha kolay bir şekilde yapmasını sağlayacaktır. Şifre normal karakter kümesi üzerinden yazılabilir ve standart klavyenin kullanımı yeterli olacaktır. Hatırlaycağınız gibi standart klavyenin açılması için herhangi bir işlem yapılmasına gerek yoktur. Telefon numarası için kullanıcının sayısal değerleri zorlanmadan girebilmesini sağlamak adına numerik bir klavye kullanması daha iyi olur.

e-Mail adresi için sürükleyip bıraktığımız metin kutusunun (TextBox) kodları aşağıdaki gibi olacaktır.

<TextBox Height="72" HorizontalAlignment="Left" Margin="6,42,0,0" Name="textBox1" Text="" VerticalAlignment="Top" Width="444" />

Bu satırı, ve diğer metin kutularına ait satırları, aşağıdakine benzer şekilde değiştirerek InputScope tanımlaması yapabilir ve sanal klavyenin görünümünü özelleştirebilirsiniz.

<TextBox Height="72" HorizontalAlignment="Left" Margin="6,42,0,0" Name="textBox1" Text="" VerticalAlignment="Top" Width="444">
    <TextBox.InputScope>
        <InputScope>
            <InputScopeName NameValue="EmailSmtpAddress" />
        </InputScope>
    </TextBox.InputScope>
</TextBox>

Bu yöntemi tercih ettiğinizde InputScopeName için kullanacağınız NameValue değerini yazarken IntelliSense yardımcınız olacaktır. IntelliSense olmasa da olur ben daha az kod yazmak istiyorum diyorsanız da aşağıdaki yazım şeklini tercih edebilirsiniz.

02 InputScope Ornegi EMail Klavyesi

<TextBox Height="72" HorizontalAlignment="Left" Margin="6,42,0,0" Name="textBox1" Text="" VerticalAlignment="Top" Width="444" InputScope="EmailSmtpAddress" />

Burada, InputScope için kullanılan EmailSmtpAddress değeri, yandaki gibi @ ve .com tuşlarını barındıran bir klavye gösterilmesini sağlayacaktır.

InputScope olarak kullanabileceğimiz değerler arasında EmailSmtpAddress, Default, Digits, Url, TelephoneNumber gibi değerler bulunuyor. TelephoneNumber olarak tanımlayacağımız bir InputScope da aşağıdaki gibi bir sanal klavye açacaktır.

05 InputScope Ornegi TelefonNo Klavyesi

Tam liste için aşağıda verdiğim iki adresi inceleyebilirsiniz:

How to: Specify On-Screen Keyboard Layout for a TextBox

How to: Set the Keyboard Input Scope for Windows Phone

İlk ekran görüntümüzdeki form tasarımına ait XAML kodları aşağıda sunulduğu gibidir.

<TextBlock Height="30" HorizontalAlignment="Left" Margin="12,6,0,0" Name="textBlock1" Text="e-Mail Adresi:" VerticalAlignment="Top" />
<TextBox Height="72" HorizontalAlignment="Left" Margin="6,42,0,0" Name="textBox1" Text="" VerticalAlignment="Top" Width="444">
    <TextBox.InputScope>
        <InputScope>
            <InputScopeName NameValue="EmailSmtpAddress" />
        </InputScope>
    </TextBox.InputScope>
</TextBox>
<TextBlock Height="30" HorizontalAlignment="Left" Margin="12,120,0,0" Name="textBlock2" Text="Şifre:" VerticalAlignment="Top" />
<TextBox InputScope="Default" Height="72" HorizontalAlignment="Left" Margin="6,156,0,0" Name="textBox2" Text="" VerticalAlignment="Top" Width="444" />
<TextBlock Height="30" HorizontalAlignment="Left" Margin="12,234,0,0" Name="textBlock3" Text="Telefon Numarası:" VerticalAlignment="Top" />
<TextBox InputScope="TelephoneNumber" Height="72" HorizontalAlignment="Left" Margin="6,270,0,0" Name="textBox3" Text="" VerticalAlignment="Top" Width="444" />
<TextBlock Height="30" HorizontalAlignment="Left" Margin="12,348,0,0" Name="textBlock4" Text="Web Sitesi:" VerticalAlignment="Top" />
<TextBox InputScope="Url" Height="72" HorizontalAlignment="Left" Margin="6,384,0,0" Name="textBox4" Text="" VerticalAlignment="Top" Width="444" />
<Button Content="Gönder" Height="72" HorizontalAlignment="Left" Margin="290,462,0,0" Name="button1" VerticalAlignment="Top" Width="160" Click="button1_Click" />

Konuyu MSDN üzerinden okumak için bu linki kullanabilirsiniz.

11 Mayıs 2012 Cuma

8 Mayıs 2012 Açık Akademi Sanal Sınıf Videosu: Windows Phone Uygulama Geliştirme

8 Mayıs 2012 akşamı, Açık Akademi Sanal Sınıf 16. Hafta kapsamında Windows Phone eğitimi sırasında kaydettiğimiz video dosyasına aşağıdaki linkten ulaşabilir, ve bilgisayarınıza indirebilirsiniz.

Seviye 3 Modül 9 - Windows Phone Uygulama Geliştirme
Eğitmen: Emrah Uslu
Kayıt Süresi: 1 Saat 58 Dakika
Video Link:https://www206.livemeeting.com/cc/wwe_uk/view?cn=guest&id=1032511955&pw=D5EFD8C1

Ayrıca, daha önceki tarihlerde gerçekleştirdiğimiz Açık Akademi Seviye 2 Sanal Sınıf Eğitimlerine ait video kayıtları için bu linki , Açık Akademi Seviye 1 Sanal Sınıf Eğitimleri kapsamında gerçekleştirdiğimiz derslerin video kayıtları için de  bu linki kullanabilirsiniz.

5 Mayıs 2012 Cumartesi

Windows Phone Kontrolleri, Sensörleri ve Servisleri Sanal Sınıf Videosu


Anlatırken zorlandığım eğitimlerden birisi oldu benim için. Eğitimi Açık Akademi kapsamında ele aldığımızdan dolayı konuların detaylarına giremeden genel konseptlere fazlaca takılmak zorunda kaldık. Konsoldaki eğitimleri tamamlayamadan bir anda Windows Phone'a geçmiş olmamız programlama konusunda yeni olan bir çok katılımcı için zorlayıcı oldu. Ben de anlatırken kimseyi geride bırakmamak adına birçok konsepte değinmek zorunda kaldım. Bunun sonucunda da eğitim süresinin beklenenden uzun ama planlanan içeriğin beklenenden kısa olması gibi bir sonuca geldik. Yakın zamanda burada ele alamadığımız konulara değineceğimiz bir nedirTV webineri planlıyor olacağız. Tarih netleştiğinde yine buradan duyuruyor olacağım.


3 Mayıs 2012 akşamı, Açık Akademi Sanal Sınıf 15. Hafta kapsamında Windows Phone Kontrolleri, Sensörleri ve Servisleri eğitimi sırasında kaydettiğimiz video dosyasına aşağıdaki linkten ulaşabilir, ve bilgisayarınıza indirebilirsiniz.


Seviye 3 Modül 9 - Windows Phone Uygulama Geliştirme
Eğitmen: Ercan Bozkurt
Kayıt Süresi: 2 Saat 11 Dakika
Video Link: https://www206.livemeeting.com/cc/wwe_uk/view?cn=guest&id=1032511953&pw=4722CF80

Windows Phone konulu gelecek eğitimlere katılmak için aşağıdaki linkten kayıt olabilirsiniz: http://ercanbozkurt.blogspot.com/2012/04/ack-akademi-seviye-3-sanal-snf.html

Ayrıca, daha önceki tarihlerde gerçekleştirdiğimiz Açık Akademi Seviye 2 Sanal Sınıf Eğitimlerine ait video kayıtları için bu linki , Açık Akademi Seviye 1 Sanal Sınıf Eğitimleri kapsamında gerçekleştirdiğimiz derslerin video kayıtları için de  bu linki kullanabilirsiniz.