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

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ı :)

Windows Phone Email Compose Task Kullanımı ve Uygulama Versiyon Bilgisini Alma Yöntemi

4. Temmuz 2012 13:50by Garen Yöndem

Uzun zamandır blogu ihmal ettiğimi fark ettim. Hem bu durumu telafi etmek hem de bir önceki blog postumda daha sonra bahsetme sözü verdiğim bir diğer kullanıcı yorumları alabilme yöntemi olan EmailComposeTask’a da değinmek istiyorum. Bu taski kullanıcı yorumlarını almak ve uygulamanız içersinde dilediğiniz bir bilgiyi kullanıcının paylaşabilmesine izin vermek için kullanabilirsiniz. Her ne kadar konu paylaşmak olunca artık e-mail göndermek; Facebook ve Twitterın yanında zayıf bir eleman olarak kalsa da pek çok yönden e-maillerin daha kalıcı olduğu aşikar.

Daha önceki yazımda MarketplacReviewTaski kullanırken projemize eklediğimiz  Microsoft.Phone.Tasks namespaceini tekrar kullanacağız. EmailComposeTask sayesinde gönderilecek e-mail’in to, subject, body gibi propetylerine rahatlıkla ulaşabilirsiniz.

using Microsoft.Phone.Tasks;
EmailComposeTask email = new EmailComposeTask();
email.To = "mailto:abc@yondem.com";
email.Cc = "carboncopy@yondem.com";
email.Bcc = "blindcarboncopy@yondem.com";
email.Subject = "Konu";
email.Body = "Metin";
email.Show();

Şayet e-mail taskini kullanıcı yorumları almak için kullanıyorsanız olası şikayet maillerinde kullanıcı’nın cihazındaki uygulamanızın sürümünden de haberdar olmak isteyebilirsiniz. Uygulamanızın versiyon bilgisine ulaşabilmek için ufak bir reflection hareketi yapabiliriz.

using System.Reflection;
var bilgi = new AssemblyName(Assembly.GetExecutingAssembly().FullName);
var versiyon = bilgi.Version;

Böylece uygulamanızın AssemblyInfo.cs dosyasında bulunan AssemblyVersion bilgisine ulaşabilirsiniz.

Tekrar görüşmek üzere, kendinize iyi bakın.

Paragöz Blizzard Gündemi

12. Haziran 2012 16:30by Garen Yöndem

Sıkı bir Blizzard oyunları oyuncusu olarak, hem Türkiye'deki oyuncu kalitesini gözler önüne sermek için hem de son dönemde Blizzard hakkında Türkiye'de oluşan genel gündemden çok rahatsız olduğum için böyle bir serzenişde bulunmak istedim. Blizzard’ı oyun içi (in-game) companionlar, mountlar satıyor diye küçük görüp paragöz diyenlere aklım ermiyor. Bir de authenticator satmak için sistemlerini yeterince güvenli yapmadıklarını iddia edenler var, ki onlara bullshit demek geliyor içimden. Authenticator dediğimiz cihazın fiziksel olanı 7$, official uygulamaları ise tüm mobil işletim sistemlerinde ücretsiz dağıtılıyor. Acaba authenticator'ı gelir kapısı olarak gören bir oyun şirketi, neden tüm mobil platformlarda ücretsiz dağıtacağı uygulamayı geliştirmek için binlerce dolar harcar ki?

 

In-game companion ve mount konusuna gelince. Blizzardın bu konuya da yaklaşımının oldukça nötr olduğunun herkesin farkında olması lazım, lakin Moonkin Hatcling adındaki companion’ın gelirinin yarısı olan 800.000$ Amerika merkezli Make A Wish derneğine bağışlanmıştı. Geçen yıl ise adı Cenarion Hatchling olan bir başka companion’ın tüm geliri 1.9 milyon $. Amerkan Kızıl Haç örgütüne Japonya'daki deprem ve tsunami felaketine yardım edebilmesi adına bağışlanmıştı. Hala Blizzard'ın paragöz bir oyun şirketi olduğunu düşünüyorsanız senede 3-4 versiyonu çıkan oyunları satın almaya devam edebilirsiniz.