garen.yöndem launching ...3 ...2 ...1

Windows Phone Toolkit - Ekim 2012

13. Ekim 2012 11:00by Garen Yöndem

Geçtiğimiz Salı günü Silverlight for Windows Phone Toolkit’in Ekim 2012 versiyonu daha önceki Toolkitler gibi CodePlex üzerinden yayınlandı. Ancak yeni versiyonda toolkit’in adı Windows Phone Toolkit olarak kısaldı. Microsoft’un Silverlight markasını toolkit’in isminden neden çıkardığıyla ilgili net bir bilgi olmamakla beraber benim yorumum şöyle;

 

Nokia en başından beri cihazlarını Lumia markasıyla tanıtıyor ve Microsoft’la yaptıkları özel anlaşma dahilinde cihazları’nın arkasına Windows Phone olduklarını yazmıyor. Geçen bir yıl içerisinde de Nokia’nın meşhur Lumia 800 ve 900 modelerinin tasarımlarıyla başarıyı yakalamalarının ardından, Lumia markası Windows Phone’dan ‘neredeyse’ daha ünlü hale geldi.

 

HTC ise, piyasa çıkaracağı iki Windows Phone 8 işletim sistemli cihazında da Nokia’nın aksine Windows Phone markasını model ismi olarak kullandı (Windows Phone 8X ve Windows Phone 8S). Kuşkusuz bu durum Microsoft’u memnun etmiş olacak ki, Steve Ballmer HTC lansımanı sırasında bu memnuniyeti birinci ağızdan dile getirdi ve Microsoft, Nokia, HTC üçgeninde bir gerginlik oluştu.

 

Microsoft’un içinde bulunduğu bu durumda, sadece işletim sistemi lisanslayan bir şirket olarak cihaz isimlendirmelerinde seçici olma veya söz sahibi olma hakkı olduğunu düşünmüyorum. Fakat durum aksi şekilde gözüküyor ve Microsoft son dönemde Windows Phone markasını daha fazla öne çıkartmak için küçük adımlar atıyor.

 

Son sürümünde Silverlight markasınının Windows Phone Toolkit’in adından çıkartılmasını da bu sürecin devamı olarak görüyorum.

 

Windows Phone 8 tüketici lansımanına geri saydığımız bu günlerde, Windows Phone Toolkit Ekim güncellemesi ile gelen yeniliklere buradan, toolkit’in kendisine ise buradan ulaşabilirsiniz.

 

Görüşmek üzere!

Back Butonunu Devre Dışı Bırakmak

3. Eylül 2012 18:50by Garen Yöndem

Uygulamanızda kullanıcının geri gitmesini istemediğiniz sayfalar olabilir. Böyle bir durumda, Windows Phone cihazlarda fiziksel olarak bulunan back butonunu devre dışı bırakmak için OnBackKeyPress methodunu override etmeniz gerekiyor. Sonrasında CancelEventArgs’e cancel değerini verip, true olarak set etmelisiniz.

 

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
e.Cancel = true;
}

 

Böylece kullanıcı fiziksel back butonunu kullanarak, bulunduğu sayfadan bir önceki sayfaya dönemeyecek.

Windows Phone Sayfa Geçiş Efektleri

17. Ağustos 2012 17:15by Garen Yöndem

Windows Phone ve yeni nesil Windows uygulamalarınıza sayfa geçiş animasyonları eklediğiniz takdirde kullanıcı deneyimi (UX) açısından kullanıcılarınıza daha tatmin edici bir deneyim yaşatmış olacaksınız. Bir başka değişle, işletim sistemindeki kullanıcı deneyimini uygulamanızda da devam ettiriyor olacaksınız. Bu da Microsoft :) ve ben dahil, tanıdığım diğer Windows Phone kullanıcıları çevrelerinde de sempati ile karşılanmakta.

Öncelikli olarak Silverlight for Windows Phone Toolkit’i Windows Phone Toolkit'i bilgisayarınıza kurmanız gerekiyor. Ardından Microsoft.Phone.Controls.Toolkit library’sini uygulamanıza referans olarak ekledikten sonra App.xaml.cs sayfasında

//RootFrame = new PhoneApplicationFrame();  ...yerine
RootFrame = new TransitionFrame();

rootframe değişikliğini yapıp, animasyon eklemek istediğiniz sayfa’nın phone:PhoneApplicationPage tag’inin içerisine Microsoft.Phone.Controls.Toolkit librarysine xmlns eklemeniz gerekiyor.

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"

Sonrasında sayfanıza kayma efekti eklemek için, aşağıdaki kodu kullanabilirsiniz.

Işletim sistemi içerisinde de çok yaygın olarak kullanılan sayfa çevirme efektini eklemek isterseniz, kodunuzun aşağıdaki gibi olması gerekiyor.

Kod üzerinde birkaç değişiklik yaparak farklı geçiş efektleri elde etmeniz mümkün.

Tekrar görüşmek üzere, kolay gelsin.

Windows Phone Device Status Bilgilerini Almak [Update]

7. Ağustos 2012 17:00by Garen Yöndem

 [Orijinal Post : 19/07/2012 14:30] 

Windows Phone uygulamalarında versiyon bilgisinin nasıl alınabileceğini görmüştük. Şimdi ise cihaz bilgilerine nasıl ulaşabileceğimize değinmek istiyorum. Windows Phone cihazların donanım bilgilerine ulaşabilmek için uygulamanıza öncelikle Microsoft.Phone.Info namespaceini eklemeniz gerekiyor. Böylece DeviceStatus classı'nın propertylerine ulaşabilirsiniz.

Bu propertyler cihazın Settings>about sayfasındaki 'phone info' bilgilerini temsil ediyor.

using Microsoft.Phone.Info;
brand.Text = DeviceStatus.DeviceManufacturer;
model.Text = DeviceStatus.DeviceName;
hardwareversion.Text = DeviceStatus.DeviceHardwareVersion;
devicetotalmemory.Text = DeviceStatus.DeviceTotalMemory.ToString();
currentmemory.Text = DeviceStatus.ApplicationCurrentMemoryUsage.ToString();
peakmemoryusage.Text = DeviceStatus.ApplicationPeakMemoryUsage.ToString();
firmware.Text = DeviceStatus.DeviceFirmwareVersion;
power.Text = DeviceStatus.PowerSource.ToString();
//DeviceStatus.IsKeyboardDeployed.ToString();
//DeviceStatus.IsKeyboardPresent.ToString();

Tüm propertyler arasında belki de en az kullanılmaya değer propertyler olduklarını düşündüğüm için son iki satırı comment ettim. IsKeyboardDeployed propertysi cihazınıza bluetooth veya dock aracılığıyla bir klavyenin bağlı olup olmadığının verisini sunar. IsKeyboardPresent propertysi ise cihazınızda HTC 7 Pro veya LG Quantum modellerinde de olduğu gibi dahili bir klavye olup olmadığının verisini sunuyor.

 

garen.yondem.com windows phone device status

 

Son olarak aklınızda bulunsun, yukarıdaki kodu uygulamanıza ekleyip emülatörünüzde çalıştırdığınızda anlamlı veriler elde etmeniz mümkün olmayacak çünkü emülatörünüz PCnizin donanımını kullanıyor. Emülatör yerine bir Windows Phone cihazı bağlayarak uygulamanızı cihazda debug etmelisiniz.

Örnek uygulamayı aşağıdaki linkde bulabilirsiniz. Hayırlı Ramazanlar diliyorum.

ExampleDeviceStatus.rar (65,98 kb)

 [Update : 22/07/2012] 

Yukarıda bahsettiğim DeviceStatus classı ve cihaz bilgilerine ek olarak, cihazın mevcut mobil operatörünün bilgisine de ulaşmak mümkün. Bu işlem için Microsoft.Phone.Net.NetworkInformation namespace'ini kullanmanız gerekiyor. Böylece DeviceNetworkInformation classının altında yer alan CellularMobileOperator string değerine ulaşabilirsiniz.

using Microsoft.Phone.Net.NetworkInformation;
string mobile_carrier = DeviceNetworkInformation.CellularMobileOperator;
something.Text = mobile_carrier;

Tabi bu datayı nasıl değerlendirebilirsiniz bilmiyorum :). Projenize göre kendinize bir kullanım alanı bulabilirsiniz. Bu datayı kullanabileceğiniz uygulama fikirlerinizi benimle de aşağıda paylaşırsanız sevinirim.

Tekrar görüşmek üzere kendinize iyi bakın ;)

Windows Phone Link ve Status Paylaşım Taskleri

7. Temmuz 2012 15:00by Garen Yöndem

Microsoft’un yürütüğü Smoked/Dared by Windows Phone kampanyalarında Windows Phone’un rakiplerine karşı hiç malup olmadığı özelliklerden biri sosyal medyada hızlı paylaşım yapabilmek. Sadece işletim sistemi içerisinde değil uygulamalar içerisinde de Windows Phone’un bu nimetlerinden faydalanmak hem çok kolay hem de kullanıcı deneyimi (UX) açısından çok önemli. Hali hazırda Facebook, Twitter, Linkedin gibi sosyal ağları Live accountunuza bağladığınız takdirde Windows Phoneunuzda bulunan içerikleri bu ağlarda paylaşabiliyorsunuz. Gelecek Windows Phone 8 diğer adı ile Apollo güncellemesi ile birlikte bu entegre ağlara Foursquare, Google+ ve MySpace’in de ekleneceği dedikodular arasında.

Windows Phone uygulamalarınızda sosyal medyada içerik paylaşmak için bu ağlar ile tek tek entegrasyon yapmanıza gerek yok. Bağlı olunan mevcut Live account’un tüm üçüncü parti entegrasyon noktalarını aracısız olarak kullanabilirsiniz. Bu işlem için Windows Phone’da çok sık kullandığımız Phone Tasksden faydalanabiliriz. Phone Tasks namespaceinin altında iki farklı paylaşım taski bulunuyor. Bunlar; share link task ve share status task. Adlarından da anlayabileceğiniz gibi biri link paylaşımı için diğeri ise anlık durum paylaşımı için kullanılıyor.

using Microsoft.Phone.Tasks;

Link paylaşımı için olan ShareLinkTask’in message propertysi hariç title ve linkuri propertyleri size ait, bu bölümleri kullanıcı değiştiremiyor.

ShareLinkTask sharelink = new ShareLinkTask();
sharelink.Title = "Başlık";
sharelink.LinkUri = new Uri("http://garen.yondem.com", UriKind.Absolute);
sharelink.Message = "Metin";
sharelink.Show();

ShareStatusTask’e ise ShareLinkTask’in titlesız ve linksiz haline benzetebiliriz. Sadece metin paylaşmak için kullanılabilir.

ShareStatusTask sharestatus = new ShareStatusTask();
sharestatus.Status = "Bugün hava çok sıcak";
sharestatus.Show();

Böylece otomatik olarak kullanıcıya telefonunun (Live ID’nin) bağlı olduğu ağlardan oluşan bir liste sunulacak ve kullanıcı paylaşmak istediği ağları seçerek sizin hazırladığınız datayı o ağlarda paylaşabilecek.

Görüşmek üzere, iyi haftasonları :)