ETİKETLER

c-sharp

İÇERİK TÜRLERİ

Cihaz Bilgilerine Erişim

Zaman zaman Windows Phone aygıtınıza ait bilgilere ulaşmanız gerekebilir. Böyle bir durumda emulatör yerine gerçek bir aygıt üzerinde test etmemiz uygun olacaktır. Aşağıdaki örnekte şu bilgilere ulaşmaya çalışacağız:

Navigasyon

Windows Phone uygulamalarındaki önemli bir nokta da, oluşturduğunuz sayfaların birbirleri arasında gidip gelmesidir. Bu işleme navigasyon adı verilir. Bu işlemlerde C# kodu kullanılır ve NavigationService isimli bir sınıfın Navigate fonksiyonundan yararlanılır.

Örnek bir uygulama ile navigasyon işlemini nasıl yapabileceğinizi anlatalım:

Yeni bir Windows Phone projesi oluşturun ve  Add > New Item... yolunu izleyin:

Visual Studio 2015 Kontrolleri

Visual Studio 2015 ile birlikte Windows Phone 8 ortamına kolaylıkla ekleyebileceğiniz 60'ın üzerinde kontrol gelmektedir. Bu kontrollerden en çok işinize yarayacaklardan bazıları bu eğitimin alt başlıklarında incelenmiştir. Visual Studio 2015 ile bu kontrolleri kullanabilmek için gerekli bileşenlerin yüklenmesi gerekebilir. Sözünü ettiğimiz kontroller, Visual Studio 2015 ile öntanımlı olarak gelir. Daha sonra üçüncü parti kontroller de sonradan eklenerek, kullanılabilir.

Kontroller

Windows Phone 8 uygulamaları geliştirirken, Visual Studio 2012 editörü kullanılır. Windows Phone 8 SDK’sını kurduğunuzda, bu SDK ile birlikte gelen proje, dosya şablonları ve Windows Phone’a özgü kontroller projede kullanılabilir. Kontrolleri projeye kod yazarak eklemek isterseniz, Microsoft’un XAML dilini kullanmanız gerekir. XAML özel etiketlere sahip XML tabanlı bir dildir. Tasarım Modunda XAML kullanırken, ilgili kontrolün gerçekleştirmesini istediğiniz işlemler için C# dilini kullanırsınız.

Ekran Yönlendirme (Screen Orientation)

Windows Phone uygulamaları geliştirirken dikkat etmeniz gereken bir diğer önemli nokta uygulamanızın farklı ekran yönlendirmelerine nasıl tepki verdiğidir. Windows Phone’da üç farklı Orientation (yönlendirme) vardır: Landscape (Yatay), Portrait (Dikey) ve PortraitOrLandscape (her ikisini de destekler).

Temalar

Windows Phone 8 uygulamaları geliştirirken dikkat edilmesi gereken hususlardan biri de, uygulamanızın tüm tema değişikliklerinde çalışabilir olmasıdır.

Temalar ikiye ayrılır: Açık (Light) Tema ve Koyu (Dark) Tema. Temalar, Windows Phone cihazının Ayarlar (Settings) kısmından değiştirilebilir.

Arayüz (UI) Geliştirme

Frame Rate Counter kullanımı

Windows Phone ortamında geliştirilen uygulamaların performanslı çalışması çok önemlidir. Yazacağınız uygulamalar, en düşük sistem özelliği olan cihazlarda dahi hiçbir performans kaybı yaşanmadan çalışabilmelidir. Bunu, yazacağınız kodları optimize ederek sağlayabilirsiniz. Windows Phone SDK'sı bu noktada bazı kolaylıklar sunar.

Xaml

Xaml'in açılımı "EXtensible Application Markup Language" şeklindedir, XML tabanlı çalışır ve XML’in tüm özelliklerini kullanır. XML,  kişilerin kendi sistemlerini oluşturabilecekleri, kendi etiketlerini tanımlayarak çok daha rahat ve etkin programlama yapabilecekleri ve bu belirlenen etiketleri kendi yapıları içerisinde standartlaştırabilecekleri esnek, genişleyebilir ve kolay uygulanabilir bir meta dildir.

Threading

Threading, birden fazla thread’in (iş parçacığı) aynı anda çalışması diye açıklanabilir. Yazdığımız normal bir programlama kodu, tek başına bir thread’dir. Örneğin, büyük bir dosyanın diske yazılmasını sağlamışsak, kullanıcı bu dosyanın diske yazılması bitinceye kadar beklemek zorundadır. Thread kullandığımız taktirde ise, diske yazma işlemini arka planda çalışan bir thread haline getirdiğimizden, kullanıcı beklemek zorunda kalmadan programın başka bölümlerini kullanabilecektir.

StreamWriter

StreamReader sınıfında olduğu gibi, StreamWriter sınıfında da System.IO kütüphanesi kullanılır. StreamWriter sınıfı ile metin dosyalarına karakter türünde değer girişi yapılır. Örnek olarak, bilgisayar üzerindeki bir sürücüde bulunan bir .txt dosyasına program içinden erişip metinsel bir ifade eklemek için, StreamWriter sınıfı kullanılabilir.

Yapılması gereken ilk işlem, StreamWriter sınıfının bir örneğini almaktır:

 

Abone ol c-sharp