28 Aralık 2012 Cuma

Lumia 920 Kazanma Şansı


Hemen tıkla: http://nokia.ly/12EGaf7 4 Nokia Lumia 920'den birini kazanma şansını kaçırma!

Sanal telefonu kullanarak, özellikleri keşfet ve topladığın rakamlarla gizli şifreyi bularak çekilişe katıl.

10 Aralık 2012 Pazartesi

Windows Phone 8: Canlı Kutucukların Etkili Kullanımı

Canlı Kutucuk (Live Tile) Kavramı
Windows Store ve Windows Phone başlangıç ekranlarında görmeye alışık olduğumuz kutucuklar, sıradan birer simge olmanın ötesinde özellikler taşıyor. Bunlara Canlı Kutucuklar (Live Tiles) denmesinin sebebi, üzerlerinde aktif olarak güncellenen veriler barındırmasıdır.

Başlangıç ekranındaki canlı kutucuklar, uygulamalara hayat verir ve uygulama çalışır durumda değilken bile en güncel bilgileri gösterir. Canlı kutucuklar, gerçek zamanlı olarak değişip güncellenir, böylece kullanıcıların önem verdiği konularda her an güncel kalması sağlanır.

Canlı Kutucuklara Programatik Erişim
Şimdi, vakit kaybetmeden, Windows Phone 8 üzerinde Canlı Kutucuklara nasıl erişebileceğimizi ele alan örnek bir proje geliştirelim. İlk adım olarak LiveTileKullanimi isimli bir Windows Phone projesi oluşturalım.


Hedef platform olarak Windows Phone 8.0 seçelim ve ilerleyelim.


Proje oluşturulduktan sonra, Solution Explorer penceresinde yer alan Properties bölümünün altında bulunan WMAppManifest.xml dosyasına çift tıklayarak açalım.


WMAppManifest standart bir xml dosyasıdır. Visual Studio 2012 bu dosya için bir editör ekranı sunar ve daha kolay bir biçimde düzenleme yapmamıza imkan verir. Bu dosyayı açtığımızda, aşağıdaki görselde olduğu gibi Application UI sekmesini görürüz.

 
Bu ekranda App Icon bölümünde uygulamaya ait simgeyi tanımlayabileceğimiz gibi, ek olarak uygulamamızın başlangıç ekranına sabitlenmesi sırasında kullanılacak olan görselleri de Tile Images bölümünden tanımlayabiliyoruz. Başlangıç ekranı için 3 farklı boyutta görsel kullanabiliriz. Küçük (Small), Orta (Medium) ve Geniş (Large). Geniş kutucuk için bir görsel tanımlamak zorunda değiliz ama Küçük ve Orta boyutlu kutucuklar için bir görsel tanımlamak zorunlu.


Geniş kutucuk için de görsel tanımlamak istiyorsak, Support for large Tiles seçeneğini işaretlememiz gerekiyor. Kutucuk şablonu olarak TemplateFlip seçtiğimizde, kutucuklar üzerinde kullanılacak görsellerin uygun boyutlarını aşağıda bulabilirsiniz.

Small Tile: 159x159
Medium Tile: 336x336
Large Tile: 691x336

TemplateFlip yerine TemplateIconic ya da TemplateCycle şablonları da tercih edilebilir. Tercihinizi Tile Template bölümünde belirtebilirsiniz.


TemplateIconic için Small (71x110) ve de Medium (134x202) boyutta görseller kullanmak zorunlu iken, TemplateCycle tarafında dönüşümlü olarak gösterilmek üzere bir Small bir de ek olmak üzere toplam 2 görsel kullanmak zorunludur. Fakat tercihe bağlı olarak bir Small, 9 adet de ek görsel kullanılarak daha haraketli bir kutucuk tasarlanabilir. Bu üç şablondan istediğimizi tercih edebiliriz.


Bu makalemizde, örneğimizi TemplateIconic şablonunu kullanarak gerçekleştireceğiz. İlgili ekranı tasarlayıp, kodlarımızı yazmaya başlayalım.


TemplateIconic şablonunu kullanarak kutucuklar üzerinde sunabileceğimiz ve güncelleyebileceğimiz bilgiler;
Başlık (Title), Adet (Count), Üç satırlık metinsel ifade (WideContent1-2-3), Küçük Simge Görseli (SmallIconImage), Orta ya da Geniş Boy Simge Görseli (IconImage), Arkaplan Rengi (BackgroundColor) bilgileridir.

Bu bilgileri güncelleyebilmek için öncelikle kutucuk (Tile) referansını yakalamak gerekiyor. Sonrasında ilgili özellikler üzerine değer atamaları yapılabilir. Örnek kod bloğunu aşağıda bulabilirsiniz.

        private void KutucukGuncelle()
        {
            ShellTile anaKutucuk = ShellTile.ActiveTiles.FirstOrDefault();
            if (anaKutucuk != null)
            {
                IconicTileData veriler = new IconicTileData();
                veriler.Count = 10;
                veriler.Title = "Güncel Başlık";
                veriler.WideContent1 = "ilk satırdaki yazılar";
                veriler.WideContent2 = "ikinci satırdaki yazılar";
                veriler.WideContent3 = "üçüncü satırdaki yazılar";
                anaKutucuk.Update(veriler);
            }
        }

Küçük kutucuk üzerinde sadece simge ve sayısal bilgi barındırılabilirken, orta boy kutucuk bu iki bilgiye ek olarak bir de başlık bilgisi kullanmamıza imkan sağlıyor. Geniş boyuttaki kutucuğun üzerinde de diğer verilere ek olarak üç satırlık metinsel veri sunabiliyoruz.




BackgroundTask Kullanarak Canlı Kutucukların Periyodik Olarak Güncellenmesi
Arkaplanda düzenli bir güncelleme yapabilmek için, ScheduledTaskAgent proje şablonundan faydalanacağız. Bu amaçla Solution üzerine sağ tıklayıp, Add New Project seçeneği ile bir Windows Phone Scheduled TaskAgent projesi ekleyelim.


Yine Windows Phone SDK 8.0 hedefli olarak bu projeyi oluşturduğumuzu belirtelim ve sonrasında ilk oluşturmuş olduğumuz LiveTileKullanimi isimli projenin referanslarına gidip, yeni projemizi referanslar arasına ekleyelim.




Yeni projemizin referansını, ilk projemiz olan LiveTileKullanimi projesine ekledikten sonra, ScheduledTaskAgent1 projemiz içerisinde yer alan ScheduledAgent.cs dosyasına çift tıklayalım ve kod sayfamızı açalım.

Öncelikle, System, System.Linq ve Microsoft.Phone.Shell isimalanını using direktiflerimiz arasına ekleyelim. Sonrasında, OnInvoke metodunu aşağıdaki gibi kodlayalım.

        protected override void OnInvoke(ScheduledTask task)
        {
            //TODO: Add code to perform your task in background
            ShellTile kutucuk = ShellTile.ActiveTiles.FirstOrDefault();
            if (kutucuk != null)
            {
                int x = DateTime.Now.Second; // Örnek değer olarak sistem saatinin saniye hanesini kullanacağız.
                IconicTileData veriler = new IconicTileData();
                veriler.Count = x;
                veriler.Title = String.Format("Güncel {0} Başlık",x);
                veriler.WideContent1 = "ilk satırdaki yazılar" + x;
                veriler.WideContent2 = "ikinci satırdaki yazılar" + x;
                veriler.WideContent3 = "üçüncü satırdaki yazılar" + x;
                kutucuk.Update(veriler);
            }
            NotifyComplete();
        }

OnInvoke metodunu bu şekilde kodladığımızda, ScheduledTask her tetiklendiğinde yapılacak iş tanımlanmış oldu. Şimdi, bu işi uygulamamız içerisinde nasıl periyodik olarak tetikleyeceğimizi kodlayalım.

İlk olarak, LiveTileKullanimi projemize geçelim ve Microsoft.Phone.Scheduler isimalanını kod sayfamıza ekleyelim. Sonrasında da aşağıdaki metodu projemiz içerisine ekleyelim.

        private void PeriyodikGuncelle()
        {
            if (ScheduledActionService.Find("CanliKutucuk") != null) // Eğer bu isimde bir servis var ise daha sonra tekrar eklemek üzere kaldırıyoruz.
            {
                ScheduledActionService.Remove("CanliKutucuk");
            }
            PeriodicTask pt = new PeriodicTask("CanliKutucuk");
            pt.Description = "LiveTileKullanimi Uygulamasının Canlı Kutucuk Güncelleyicisi";
            pt.ExpirationTime = DateTime.Now.AddHours(1);
            ScheduledActionService.Add(pt);
            ScheduledActionService.LaunchForTest("CanliKutucuk",TimeSpan.FromSeconds(8));
        }

Bu metodu uygun bir yerde çalıştırarak, arkaplanda CanliKutucuk isminde bir PeriodicTask, Schedule edilmemiş ise oluşturulup çalıştırılmasını sağlayabilirsiniz. Bu kod tekrar çalıştığında böyle bir servis tanımlı ise servisi kaldırıp tekrar ekleyecek ve herhangi bir sorun yaşanmadan kodların çalışabilmesi sağlanmış olacaktır.

Ek Kaynak
Bu konuda daha detaylı Türkçe bilgiyi ilerleyen yazılarımda paylaşacağım. Beklemek istemiyorum, İngilizce kaynak da işimi görür daha detaylı bilgiye ihtiyacım var diyorsanız, aşağıdaki videodan faydalanabilirsiniz.


6 Aralık 2012 Perşembe

Windows Phone üzerinde ListPicker Kullanımı

WinForms üzerindeki ComboBox ve ASP.NET kontrollerinden DropDownList'e benzetebileceğimiz bir kontrol olan ListPicker, Windows Phone üzerinde benzer ihtiyaçları karşılamamızı sağlıyor.

Bu kontrolü projelerimizde kullanabilmek için öncelikle Silverlight Toolkit kurulumu yapmalıyız. Aşağıdaki linkleri kullanarak sisteminiz için uygun olan sürümü indirebilirsiniz.
Windows Phone Toolkit - Nov 2011 (7.1 SDK): http://silverlight.codeplex.com/releases/view/75888
Windows Phone Toolkit - September 2012: http://silverlight.codeplex.com/releases/view/94435

 
Silverlight for Windows Phone Toolkit kurulumunun ardından yeni bir Windows Phone projesi oluşturalım ve proje adı olarak ListPickerKullanimi adını verelim.

Proje oluştuktan sonra, referanslar arasına Microsoft.Phone.Controls.Toolkit.dll bileşenini ekleyelim.


Tasarım ekranına birer ListPicker, Button ve TextBlock kontrolü sürükleyip bırakalım.


Şimdi kodları yazalım. ListPicker kontrolünün ItemsSource özelliğine içeride görüntülenmesini istediğimiz listeyi atayalım. Butona tıklandığında da seçili olan üyeyi TextBlock üzerinde görüntüleyeceğiz.

Uygulamayı çalıştırıp, ListPicker kontrolü üzerine dokunduğunuzda aşağıdaki gibi bir görünümle karşılaşacaksınız.

Windows Phone 8 üzerinde AdControl Kullanımı

try
{
  // ilk ifade ApplicationID, ikincisi AdUnitID ve üçüncüsü isAutoRefreshEnabled değeri
  adControl1 = new AdControl("test_client", "Image480_80", true);
}
catch
{
}

if (adControl1 != null)
{
  adControl1.Width = 480;
  adControl1.Height = 80;
  adControl1.VerticalAlignment = VerticalAlignment.Bottom;
  adControl1.HorizontalAlignment = HorizontalAlignment.Center;

  Grid grid = (Grid)this.LayoutRoot.Children[1];
  grid.Children.Add(adControlFSA);
}
Windows Phone 8 projesi oluşturduk. Kodlarımızı normal bir şekilde yazdık, uygulamayı çalıştırdık, herhangi bir hata yok fakat görünürde AdControl de yok. Aynı işi Visual Studio 2010 ile Windows Phone 7.1 hedefleyerek yaptığımızda herşey yolunda. Peki SDK 7.1'den 8.0'a ne değişti? Cevap; Capabilities

Windows Phone 8 uygulamaları üzerinde AdControl kullanabilmek için minimum ihtiyaç aşağıdaki gibidir.


Siz de bu problemi yaşıyorsanız, bakmanız gereken yer Capabilities.

4 Aralık 2012 Salı

Windows Phone Emulatörde Bilgisayar Klavyesini Kullanın

image
Windows Phone Emulatör ile çalışıyorsanız farketmişsinizdir ki kullanıcı tarafından gerçekleştirilecek veri girişi için, telefon üzerindeki soft klavye kullanılıyor. Bu işlem için bilgisayarın klavyesini kullanamıyoruz ve görünürde klavyeyi aktif etmek için bir ayar da bulunmuyor. Fakat, giriş yapmanızı gerektiren bir alana konumlandıktan sonra, klavyeden PageUp tuşuna basarak klavyeyi aktifleştirebilirsiniz. PageUp tuşuna bastığınızda ekrandaki soft klavye kapanacak ve artık cihaz üzerindeki fiziksel klavyeyi kullanabilirsiniz.

21 Kasım 2012 Çarşamba

Mirror’s Edge Oyununu Bedava İndirin (Nokia Lumia Sahiplerine Özel)



EA, Mirror’s Edge oyununu bazı ülkelerde ücretsiz olarak yayınladı.

Maalesef Türkiye bu ülkeler arasında bulunmuyor fakat telefonunuzun kurulumu sırasında ülke olarak Avustralya, Amerika ya da oyunun yayınlanmış olduğu başka bir ülke seçtiyseniz, siz de bu oyunu ücretsiz olarak indirebilirsiniz. Oyunun sadece Nokia Lumia sahipleri için ücretsiz olduğunu da hatırlatmakta fayda var.



Oyunu, Windows Phone Store ya da Nokia Collection üzerinden indirebilirsiniz.
Mirror's Edge (Windows Phone Store)

18 Kasım 2012 Pazar

Windows Phone ConnectionSettingsTask Kullanımı

ConnectionSettingsTask sınıfını kullanarak Bluetooth, WiFi, Mobil Bağlantı (3G/EDGE) ve Uçuş Modu ayarlarına ait ekranlar açılabilir. Bu sınıftan faydalanmak için öncelikle Microsoft.Phone.Tasks isimalanı kod sayfasına eklenmelidir.

ConnectionSettingsTask cTask = new ConnectionSettingsTask();
cTask.ConnectionSettingsType = ConnectionSettingsType.Bluetooth;
cTask.Show();

Yukarıdaki kod bloğunu kullanarak Bluetooth ayarları için gerekli ekranın kullanıcının karşısına açılması sağlanabilir. Bu ayarları programatik olarak değiştirmek mümkün değil. Yalnızca kullanıcıyı ilgili ekrana yönlendirebiliyoruz. Ayarı açmak, kapatmak ya da değiştirmek tamamen kullanıcının kendisi tarafından gerçekleştiriliyor.

Örnek kod bloğunda ConnectionSettingsType enum'ı içerisinde yer alan Bluetooth seçeneği kullanıldı. Kullanabileceğiniz diğer seçenekleri de barındıran tam listeyi aşağıda bulabilirsiniz.
  • AirplaneMode (Uçuş Modu)
  • Cellular (GSM Bağlantısı)
  • WiFi (Kablosuz Ağ Bağlantısı)
  • Bluetooth
WiFi AçKapa uygulaması buradakine benzer kodlar kullanılarak Açık Akademi öğrencilerimizden Çağlar Tecim tarafından geliştirilmiştir.

Windows Phone üzerinde Screenshot Almak


Windows Phone 7.x Serisi telefon kullananların en büyük beklentilerinden birisi ekran görüntüsü alıp kaydedebilme desteği idi. Windows Phone 8 ile birlikte artık bu destek geldi. Windows Phone 7.5 ve önceki sürümlerde telefonun ekran görüntüsü alınamıyor.

Microsoft, nihayet Windows Phone işletim sistemine screenshot alabilme özelliğini ekledi. Artık, o an ekranda olan görüntüyü yakalayıp kaydetmek mümkün. Ekran görüntüsü almak için, telefonun yan kısmındaki Power butonu ve cihazın ön kısmında yer alan Windows butonuna aynı anda basmak gerekiyor. Windows Phone 8 Emulatör üzerinde test için F7 ve F2 tuşları kullanılabilir. Bu işlem ile alınan ekran görüntüsü, Picture Hub altında Screenshots isimli albüme kaydedilecek.

Ekran görüntüsü alıp kaydetmek çok önemli değil gibi gözükse de, bir harita görselini hızlıca paylaşmak ya da bir doküman veya sunumun telefon ekranında nasıl göründüğünü göstermek için çok kullanışlı bir yöntem.

Bu özelliğin Windows Phone 8'e eklenmesi ile büyük bir eksiklik kapatılmış oldu. Ayrıca, alınan ekran görüntülerinin direkt olarak sosyal ağlarda paylaşımına da imkan sağlanmış durumda.

Windows Phone 8 ile alınmış ilk public ekran görüntüsünü de aşağıda bulabilirsiniz.


Windows Phone 7 serisi telefonlar kullananların yeni beklentisi, ekran görüntüsü alabilme özelliğinin 7.8 güncellemesi ile birlikte mevcut cihazlar için de sunulması. Bu güncelleme çıkana kadar http://winsupersite.com/article/windowsphone75/windows-phone-75-screenshots-141063 linkindeki bilgilerden faydalanmak mümkün.

Son olarak Windows Phone değil de Windows 8 üzerinde ekran görüntüsü alıp kaydetmek istiyorsanız buradaki bilgi işinize yarayacaktır.

Linkler: #1 #2

17 Kasım 2012 Cumartesi

Windows Phone üzerinde C# ile e-Mail Göndermek

Windows Phone tarafında, aynı SMS gönderiminde olduğu gibi programatik olarak e-Mail göndermek de mümkün değil. Sebep de yine aynı; son kullanıcının güvenliği. Kişinin mailbox'ından onun haberi olmadan, onun adına e-Mail çıkmasına izin verilmiyor.

Gönderilecek metinsel içerik, konu başlığı ve alıcı ya da alıcılar programatik olarak ayarlanarak e-Mail gönderme ekranı açılabiliyor ve yine Gönder butonuna kullanıcının basması gerekiyor.

e-Mail gönderme ekranını hazırlamak için EmailComposeTask sınıfını kullanacağız. Bu sınıf, aynı SmsComposeTask sınıfı gibi Microsoft.Phone.dll içerisinde ve Microsoft.Phone.Tasks isimalanının altında yer alıyor.

using Microsoft.Phone.Tasks; ifadesini kullanarak gerekli isimalanını kod sayfasına ekledikten sonra aşağıdaki kod bloğu ile e-Mail gönderim ekranı açılabilir.

EmailComposeTask eTask = new EmailComposeTask();
eTask.To = "sanalalici@neresi.com"; // Alıcı adresi
eTask.Subject = "Günaydın"; // Gönderilecek mailin konu başlığı
eTask.Body = "Günün güzel geçsin, akşam arıza çıkarma"; // Mail içeriği
eTak.Show(); // Mail gönderme ekranını açan satır.

DİKKAT: Bu kod maili göndermez. Alıcının adresi, konu başlığı ve gönderilecek mesajı barındıran ekranı açar ve kullanıcının Gönder butonuna basması beklenir.

Maili göndermek için, öncelikle EmailComposeTask sınıfından bir nesne örneği oluşturuluyor ve
To, Subject ve Body gibi özelliklerin değerleri atanıyor.

Show metodu çağırıldığında da, eMail Gönderme ekranı verilen değerlerle birlikte dolu olarak açılıyor. Bu noktadan sonra maili gönderebilmek için kullanıcının gönder butonuna basması yeterli.


NOT: Kullanıcı eğer telefonuna herhangi bir mail hesabı kurmamış ise, mail göndermek isterken sol tarafta bulunan görseldeki gibi bir hata mesajı alır. Herhangi bir mail hesabı kurulduktan sonra mail göndermek için bir engel kalmaz.

Bu kodları, emulatör üzerinde denediğinizde de karşılaşacağınız ekran soldaki gibi olacaktır. Emulatör üzerinde bir mail hesabı tanımlamak için, Windows Phone SDK 7.1.1 güncellemesini kurup http://dotnet.dzone.com/articles/real-email-accounts-inside linkindeki bilgilerden faydalanabilir ve gmail ya da yahoo hesabı kurup, test edebilirsiniz.

Windows Phone üzerinde C# ile SMS Gönderimi yazısı için bu linki inceleyebilirsiniz.

Windows Phone üzerinde C# ile SMS Göndermek

Öncelikle, Windows Phone tarafında programatik olarak SMS göndermenin mümkün olmadığını belirterek başlayalım. Son kullanıcının güvenliği düşünülerek, SMS gönderme işleminin uygulama tarafından otomatik olarak yapılmasına izin verilmemiş.

Programatik olarak SMS'in metinsel içeriği ve kime gideceği ayarlanarak SMS Gönderme ekranı açılabiliyor ama Gönder butonuna kullanıcının kendisi basmalı. İşlem yalnızca kullanıcının bilinçli şekilde yapacağı eylem ile tamamlanıyor.

SMS gönderme ekranını hazırlamak için kullanacağımız sınıf, Microsoft.Phone.Tasks isimalanının altında yer alıyor. Bunun için öncelikle ilgili isimalanı using Microsoft.Phone.Tasks; ifadesi kullanılarak kod sayfasına eklenmeli. Sonrasında da aşağıdaki kod bloğu kullanılabilir.

SmsComposeTask mesaj = new SmsComposeTask();
mesaj.To = "0533445566"; // Alıcının telefon numarasını bu alanda veriyoruz.
mesaj.Body = "Günaydın"; // Gönderilecek olan mesaj
mesaj.Show(); // Mesaj gönderme ekranını açan satır.


DİKKAT: Bu kod mesajı göndermez. Alıcının numarası ve gönderilecek mesajı barındıran ekranı açar ve kullanıcının Gönder butonuna basması beklenir.

Windows Phone üzerinde C# ile e-Mail Göndermek yazısı için bu linki inceleyebilirsiniz.

30 Ekim 2012 Salı

Dev Center Hesabı $99 Yerine Yalnızca $8


Windows Phone 8 Developer Platform

Windows Phone 8 cihazlar ile birlikte Windows Phone 8 SDK ve gerekli araçlar da yayınlandı. Şimdi kodlamaya geçme zamanı. İki gündür yaşanan güzelliklere ek olarak, önümüzdeki 8 gün boyunca bireysel uygulama geliştiriciler Dev Center hesabını sadece $8 dolar karşılığında yüzde 92 indirimli olarak açabilirler.

Yüzde 92 İndirim
Bu kampanyanın yalnızca 8 için geçerli olduğunu unutmayın. Hesabı açmak istediğinizde kredi kartınızdan $99 ya da eşdeğerinde TL çekilecek ve $8 doların üzerindeki fark, işleminizi takip eden 30 ila 45 gün içerisinde kredi kartınıza iade edilecek. Detaylar için Dev Center sitesini takip edebilirsiniz. Windows Phone Uygulamaları geliştirmeye başlamak için bundan güzel bir zaman olamaz.

Yüzde 92 indirimin tadını çıkarın.

Konu ile ilgili daha detaylı ingilizce açıklamayı, aşağıdaki linkte yer alan PDF dosyasında bulabilirsiniz.
https://cmsresources.windowsphone.com/devcenter/en-us/legal/8-for-8-Dev-Center-Registration-Offer.pdf

Windows Phone 8 SDK ISO Dosyası İndirme Linki



http://go.microsoft.com/fwlink/?LinkID=257234&clcid=0x409 linkini kullanarak Windows Phone 8 SDK'sını içeren ISO dosyasını indirebilirsiniz.

Kurulumu, ISO dosyasını DVD'ye kaydettikten sonra yapabileceğiniz gibi, sadece ISO dosyası üzerine çift tıklayarak mount edebilir ve kurulumu direkt olarak da yapabilirsiniz.

ISO dosyasını indirmeden web üzerinden direkt kurulum yapmak isterseniz aşağıdaki linkten faydalanabilirsiniz.
http://winphonesdk.blogspot.com/2012/10/windows-phone-80-sdk-yaynland.html

Windows Phone SDK 8.0 Sistem Gereksinimleri



Windows Phone SDK 8.0 Sistem Gereksinimleri:
Windows 8 64-bit ya da Windows 8 Pro 64-bit İşletim Sistemi

Donanım Gereksinimleri:
4 GB hard disk alanı
4 GB RAM
64-bit (x64) İşlemci

Windows Phone 8 Emulator için:
Windows 8 Pro ya da üzeri bir sürüm
Second Level Address Translation (SLAT) destekleyen bir işlemci

ÖNEMLİ NOT: Eğer cihazınız, donanım ve işletim sistemi gereksinimlerini karşılıyor ama Windows Phone 8 Emulator gereksinimlerini karşılamıyorsa, yine de Windows Phone SDK 8.0 sorunsuzca kurulabilir ve çalıştırılabilir. Fakat, Windows Phone 8 Emulator kullanılabilir durumda olmayacak ve uygulamalarınızı emulatöre deploy edip test etmeniz mümkün olmayacaktır.

Windows Phone 8.0 SDK Yayınlandı

Windows Phone 8 SDK
Bu yılın ilk aylarında Windows Phone 8 duyurulduğundan beri merakla beklenen Windows Phone 8 SDK nihayet yayınlandı. İndirip kurmak için aşağıdaki linki ziyaret edebilirsiniz.
http://www.microsoft.com/en-us/download/details.aspx?id=35471

Alternatif olarak buradan, Windows Phone 8 SDK ISO dosyasını da indirebilirsiniz.

Dikkat: Kullanmak için Windows 8 ve Hyper-V destekli CPU gerekli.

Bu yeni SDK ile birlikte artık uygulama geliştiriciler Windows Phone 8 cihazlar için yeni uygulamalar geliştirebilecekler.

Windows Phone Software Development Kit (SDK) 8.0 içerisindeki araçları kullanarak hem Windows Phone 8 uygulamaları hem de Windows Phone 7.5 için çeşitli uygulamalar ve oyunlar geliştirebilirsiniz.


23 Ekim 2012 Salı

Windows Phone SDK, Visual Studio 2012 ve Windows 8

Bugün aldığım bir soruyu paylaşmak istedim.

SORU:
Windows 8 üzerinde Visual Studio 2012 kullanıyorum. Windows Phone SDK kurmaya çalıştım fakat tam olarak yüklenmedi. Visual Studio 2012 içerisindeki template'ler arasına gerekli şablonlar eklenmedi. Acaba Windows 8 için ya da Visual Studio 2012 için ayrı bi SDK mı var? Eğer yok ise, ayrı bi SDK çıkacak mı? Bilginiz var mı bu konuda?

CEVAP:
Şu an için Visual Studio 2012 ile çalışabilecek halka açık bir Windows Phone SDK yok. Visual Studio 2010 kurup, SDK'yı onun üzerine kurabilirsiniz. Ya da ayrıca Visual Studio kurmadan, SDK ile birlikte gelen Visual Studio Express'i de kullanabilirsiniz.

Visual Studio 2012 ve Visual Studio 2010, aynı işletim sistemi üzerine kurulup, yan yana sorunsuz bir şekilde çalışabiliyor.

Windows 8 üzerine Windows Phone SDK kurarken çıkabilecek bir sorun var. Bu konu ile ilgili bilgiyi de aşağıdaki linkte bulabilirsiniz.

http://winphonesdk.blogspot.com/2012/06/windows-8-uzerinde-windows-phone-sdk.html

NOT: Visual Studio 2012 ile birlikte kullanabileceğimiz bir Windows Phone SDK, 29 Ekim'de çıkabilir ama şimdilik kesin bir bilgi değil bu.

Nokia Lumia 920 ve Lumia 820 Türkiye Lansmanı Kasım Ayında


NOKIA Lumia 920 ve Nokia Lumia 820 ile tanışmak için bir ay daha beklemek yeterli. Türkiye Lansmanı 21 Kasımda Gerçekleşecek.

12 Eylül 2012 Çarşamba

Windows Phone Local Database Uygulamasi


Windows phone uzerinde Local Database mantigini kullanarak basit bir alis veris listesi uygulamasi yapalim. Listemize ekledigimiz maddeleri Windows Phone uzerinde bir veritabani olusturup bu veritabani uzerinde eklemis oldugumuz maddeleri sakliyor olacagiz. Bu islemleri yapabilmemiz icin uygulamamiz uzerinde DataContext ve LinqToSqlyapilarini kullaniyor olacagiz.

Windows Phone 7 Emulator Goruntuleme Sorunlari

Windows Phone uzerinde calisirken Emulator’unuzde frame’ler arasi navigasyon gecislerinde goruntuleme sorunlari yasiyorsaniz bir kac kucuk referance ayarlamasi ve ekleyeceginiz/degistireceginiz kod yardimiyla bu sorunu asabiliyorsunuz.



2 Eylül 2012 Pazar

Windows Phone Marketplace (Store) Uygulamalarını Güncellemek

Markete gönderdiğiniz uygulamanın yayınlanmasının ardından, arama sonuçlarında gözükmesi ve indirilebilir olması sağlanmıştır. Tüketiciler, merkezi bir ağ olan Marketplace üzerinden uygulamalarınızı satın alabilir ve indirebilir. Satın alma sırasındaki ödemeler de bizim adımıza Marketplace altyapısı sayesinde tahsil edilir. Bu konudaki detaylar için Windows Phone Marketplace için Uygulama Geliştirmek ve Yayınlamak başlıklı yazıyı inceleyebilirsiniz.

Uygulamalarınızda değişiklikler/güncellemeler yapıp, yeni sürümü kullanıcılarınıza yayınlamak istediğinizde, aşağıdaki maddeleri aklınızdan çıkarmamalısınız:

  • Uygulamanız, yeniden sertifikasyon sürecine girecek.
  • Kullanıcılarınız, güncellemenin yayınlandığı ile ilgili olarak bilgilendirilecek.
  • Güncellemeler için ücret talep edemezsiniz. Güncellemeler, mevcut kullanıcılar tarafından ücretsiz olarak indirilir.

Windows Phone OS 7.x Uygulamalarını Güncellemek

Şu anda markette 7.0 ve 7.1 geliştirilmiş uygulamalar bulunuyor. Bir Windows Phone Uygulama Geliştirici olarak, bu uygulamalarınızı herhangi bir zamanda güncellemek isteyebilirsiniz. Burada amaç, bulunan bug’ları gidermek ya da mevcut fonksiyonaliteyi geliştirmek olabileceği gibi uygulamaya yeni özellikler eklemek veya işletim sisteminin yeni sürümü ile gelen özelliklerden faydalanmak olabilir.

Uygulamaların Güncellenmesi ve Isolated Storage

Uygulamanızı güncellediğinizde, Isolated Storage içerisinde saklanmış olan tüm data korunur. Güncelleme sebebi ile herhangi bir kayıp yaşanmaz. Fakat, kullanıcı update etmek yerine uygulamayı uninstall ederek yeni sürümü kurar ise, Isolated Storage içerisindeki veriler de uygulama ile birlikte silinecektir. Isolated Storage hakkında daha detaylı bilgi için http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402541(v=vs.92).aspx linkini inceleyebilirsiniz.

Uygulama Adını (Application Title) Güncellemek

Uygulama adı ya da Tile arkaplanındaki görseli güncelleme sırasında değiştirmek, telefon üzerinde bu güncellemenin otomatik olarak gerçekleşmesini sağlamaz.

Bir Push Notification göndererek, başlangıç ekranına pinlenmiş olan tile üzerindeki arkaplan resmi ve uygulama adı güncellenebilir. Herhangi bir veri ya da ayarı saklamak gerekmediği durumlarda ise uygulamanın uninstall edilerek tekrar install edilmesi düşünülebilir.

Sürüm (Version) Numarasını Güncellemek

Uygulama sürüm numaraları, major, minor, build ve revision bileşenlerinden oluşur. Biçimsel olarak major.minor.build.revision şeklinde kullanılır. Örneğin; 1.1.0.0 gibi. Uygulamanıza ait sürüm numarası, hem uygulamanız içerisinde hem de Windows Phone Marketplace üzerinde tutulur. Güncelleme gönderirken version numarasını da güncellemeniz gerekir. Uygulamanız içerisinde yer alan version bilgisi ile Marketplace üzerinde bildirdiğiniz version numarası birbirinden faklı olmamalıdır.

Uygulama güncelleme konusunda daha detaylı bilgi için http://msdn.microsoft.com/en-us/library/windowsphone/develop/gg442301(v=vs.92).aspx linkini ziyaret edebilirsiniz.

26 Ağustos 2012 Pazar

Standard Windows Phone Simgeleri

Uygulamalarınıda yer alan temel işlerinizi halletmek için AppBar üzerinde kullanabileceğiniz standard simgeler arıyorsanız Bing veya Google’a başvurmanıza gerek yok. Aradığınız şeyler zaten bilgisayarınızda mevcut olabilir.

image

image

Eğer bilgisayarınızda Windows Phone SDK yüklü ise C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.0\Icons ve C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Icons klasörlerinde aradığınız simgeleri bulabilirsiniz.

image

Telefonda karanlık tema ya da parlak temanın aktif olmasına bağlı olarak farklı setlere ihtiyacınız olabilir. light ve dark isimli klasörlerde aynı simgeleri hem siyah hem de beyaz olarak bulabilirsiniz.

Bazen, minik bir arama, oldukça vakit kaybettirici bir hale gelebiliyor. İşinize yaraması dileğiyle…

8 Ağustos 2012 Çarşamba

Windows Phone Uygulamalarınızdan Para Kazanın

imageÜcretsiz yayınlayacağınız uygulamalarınıza reklam alarak gelir sağlayabilir, para kazanabilirsiniz.

Konu ile ilgili detaylar ve ayrıntılı dokümanlar için aşağıdaki web sayfasını ziyaret edebilirsiniz.

http://advertising.microsoft.com/mobile-apps

Windows Phone Dev Center – Uygulama Geliştiricilerin Yeni Mekanı

Windows Phone Dev Center

Uygulama geliştiricilerin yeni mekanı Windows Phone Dev Center, 7 Ağustos itibariyle, https://dev.windowsphone.com adresinde hizmete başladı.

AppHub’ı da içinde barındıran eski mekan olan http://create.msdn.com adresine gittiğinizde aşağıdaki yönlendirme ekranı ile karşılaşıyorsunuz. Windows Phone ve XBOX Live Indie Games bölümleri artık birbirinden ayrıldığı için bu ekrandan gitmek istediğiniz sayfaya yönlenebilirsiniz.

image

Windows Phone bölümü, https://dev.windowsphone.com adresinde hizmet verirken, XBOX Live bölümü ise http://xbox.create.msdn.com üzerinden erişime açılmış durumda.

Uygulamalarınızı geliştirmek, yayınlamak ve yönetmek için ihtiyaç duyacağınız her şey Windows Phone Dev Center ile tek bir çatı altına toplandı. Yeni marketler açılarak geliştirilen uygulamalar için yeni pazarlar oluşturuldu ve yeni ödeme yöntemleri sunulmaya başladı.

Hem uygulama geliştirme hesabınız için ödeme yapmak, hem de uygulamalarınızdan elde ettiğiniz geliri ödeme olarak almak için PayPal kullanabilirsiniz. Ayrıca uygulamanızın fiyatını belirlerken de farklı marketlerde farklı fiyat politikaları tercih etmeniz mümkün.

image

Tüm bunlara ek olarak, uygulama-içi satın alma (in-app purchasing) özelliği de artık etkili bir biçimde kullanılabilecek.

Maksimum 100 kişi olan Beta Test süreci de artık binlerce kullanıcıya kadar destek verebilecek şekilde güncellendi ve böylece beta sürecinde daha geniş bir kitleye ulaşarak daha doğru sonuçlar alınması heddefleniyor.

Üyelik, üyelik yönetimi ve uygulama gönderme süreçleri de çok daha esnek hale getirildi. Ayrıca, Dev Center, reklamlar için kullanılan pubCenter ile de daha entegre bir hale geldi. Artık, Dev Center içerisinden pubCenter hesabı ve reklam üniteleri oluşturmak mümkün. Fakat yine de bazı ince ayarlar için pubCenter’ı kullanmanız gerekebilir.

Önemli olan her şey bu çatı altında: İhtiyaç duyulan eğitim materyalleri bir araya toplandı ve Dev Center içerisindeki yerlerini aldı. Yeni portal, MSDN ile daha entegre şekilde çalışıyor. SDK ile ilgili bilgiler ya da forum için artık portalı terk etmeniz gerekmiyor. Daha önceden olduğu gibi, programlama konusunda ipuçları, kod örnekleri, tasarım konusunda rehber, uygulama satışı konusunda tavsiyeler ve daha birçok faydalı bilgi bu portal altında da kendilerine yer buluyor.

image

Yenilikleri daha iyi anlayabilmek için hesabınıza giriş yapın ve sitede biraz zaman geçirin. Hesap bilgilerinizi de kontrol edip güncellemek, ileride sorunsuz bir hayat sürmeniz için faydalı olacaktır. Windows Phone Store’a ücretli uygulamalar göndermeyi düşünüyorsanız, vergi numarası ve banka hesabı bilgilerinizi güncellemeniz de önem taşıyor.

Gitti Windows Phone Marketplace , Geldi Windows Phone Store

Microsoft, Windows Phone Marketplace’in adını Windows Phone Store olarak güncelliyor.

image

Bugün açılan Windows Phone Dev Center içerisinde yer alan bilgilerin ışığında Windows Phone Marketplace üzerinde bir isim değişikliğine gidileceği söylenebilir. Henüz bu konuda Microsoft tarafından yapılmış resmi bir açıklama olmamasına rağmen dokümanlarda gecen ismiyle Windows Phone Uygulama Mağazasının, Windows Phone Store adını alacağını söyleyebiliriz.

Aşağıdaki ifadeler Windows Phone Dev Center içerisindeki bir sayfadan alınmıştır ve ifadelerde açıkça Windows Phone Store kullanıldığı görülebilir.

“The new Windows Phone Dev Center has everything you need to create great apps and add them to the Windows Phone Store for the world to see, try, and buy. You can start creating apps anytime. When you’re ready to offer them in the Store, you’ll need a subscription to the Dev Center where you can start the process of adding them to the Store catalog

2010 Ekim ayında, Windows Phone 7 cihazların pazara sunulmasıyla birlikte Windows Phone uygulama mağazası da Windows Phone Marketplace adıyla duyurulmuştu. Görünen o ki, Microsoft, Hem Windows 8 hem de Windows Phone tarafında ortak bir isim kullanmak istiyor.

7 Ağustos 2012 Salı

Windows Phone Uygulamalarınızı Aracı Kullanmadan Yayınlayın

Türkiye’de Windows Phone uygulaması geliştiren developer’lar, uygulamalarını yayınlamak için Yalla Apps servisini kullanıyorlardı. Son gelişmelerin ardından, artık uygulamaları yayınlamak için YallaApps firmasının aracılığına duyulan ihtiyaç ortadan kalkıyor.

image

Detaylar için aşağıdaki linki ziyaret edip, Meet the Windows Phone Dev Center başlıklı yazıyı okuyabilirsiniz.
http://aka.ms/wp_apphub_tr

JSON.NET ile Windows Phone Uygulamalarında Hız ve Zaman Kazanın

image

http://json.codeplex.com/ adresinden edinebileceğiniz JSON.NET ile .NET , Silverlight, Windows 8 ve Windows Phone uygulamalarında JSON ile çalışırken hem hız hem de zaman kazanabilirsiniz.

JSON Serializer sayesinde, JSON ve .NET nesneleri arasında karşılıklı dönüşüm yapabilir, LINQ to JSON ile zamandan kazanabilirsiniz. Ayrıca JSON ile XML arasında dönüşümler de destekleniyor.

Tek bir .dll , Windows Phone uygulamalarınızda iş yükünüzü oldukça hafifletiyor.

24 Temmuz 2012 Salı

Sayfa Üzerindeki Aynı Tipten Nesnelere Programatik Erişim

Bugün, Microsoft Yaz Okulu’nda ders anlatırken aldığım sorulardan birisini başkalarının da işine yarayabileceğini düşünerek paylaşmak istedim. Detayları aşağıda bulabilirsiniz.

Sayfa üzerinde yer alan, aynı tipten tüm nesnelerin belirli bir özelliğine erişmek ya da değiştirmek gerektiğinde, örneğin; tüm Button’ların arkaplan renklerini değiştirmek ya da tüm TextBox’ların içeriklerini boşaltmak gerektiğinde, bu işi taşıyıcı kontrol üzerinde döngüye girerek kolayca halledebiliriz.

Bunu bir örnek ile açıklamak için, yeni bir proje açalım ve sayfamız üzerine aşağıda görmüş olduğunuz gibi üç adet TextBox ve bir de Button sürükleyip bırakalım.

image

Şimdi, Button üzerine tıklandığında, taşıyıcı kontrol içerisindeki tüm TextBox’ların Text özelliklerine erişip, üzerine boş değer atayacak kodu yazmalıyız. Bu örnekte, erişmek istediğimiz kontroller TextBox’lar. TextBox’larımızın taşıyıcısı da ContentPanel isimli bir Grid. Bu durumu görselde yer alan XAML kodları içerisinde görebilirsiniz.

Aşağıdaki kod ile ContentPanel isimli taşıyıcı kontrol (grid) içerisinde yer alan tüm alt üyeler üzerinde bir döngüye giriyoruz. Her bir üyeyi tek tek denetleyerek, TextBox olup olmadığını tespit ediyoruz ve eğer TextBox ise, doğru tipe dönüştürerek Text özelliğine erişip boş değer atıyoruz.

image

NOT: Bu işlemi gerçekleştirebilmek için üzerinde işlem yapmak istediğimiz üyelere bir isim verilmesi zorunlu değil sadece tip bilgisi ile erişip işlem yapmamız mümkün.