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

Windows Phone 8 SDK'deki Yeni Launcher ve Chooser'lara Detaylı Bakış

9. Temmuz 2013 10:00by Garen Yöndem

Launcher ve chooser yapıları Microsoft’un da kullanılmasını sık sık tavsiye ettiği, son kullanıcının işletim sisteminde alışık olduğu davranışları uygulamanıza taşıyabilmenizi sağlayan yapılardır. Dolayısıyla, uygulamanızın işletim sistemi içinde doğal gözükmesini sağlamakla kalmayıp, yazmanız gereken kod miktarını azaltmanız da mümkün. Şimdi Windows Phone 8 SDK’deki yeni launcher ve chooser’ların bir kısmını nasıl kullanabileceğimize göz atalım.

 

Save Appointment Task

Bu task’i kullanarak uygulamanızdan Windows Phone’un native takviminde buluşma kaydetme ekranına yönlendirme yapabilirsiniz. Kaydedilecek buluşmanın başlık, konum, tarihi gibi detaylarını da önceden belirleme imkanınız var. Bunu SaveAppointentTask classı’nın StartTime, Reminder gibi metodlarına değer atayarak yapabilirsiniz.

 

windows phone 8 sdk save appointment task

 

using Microsoft.Phone.Tasks;
private void save_appointment_task(object sender, RoutedEventArgs e)
{
SaveAppointmentTask save = new SaveAppointmentTask();
save.Subject = "Akşam yemeği";
save.Location = "Yan yol";
save.Details = "cüzdanını almayı unutma";
save.StartTime = new DateTime(2013, 6, 24);
save.IsAllDayEvent = true;
save.Reminder = Reminder.FifteenMinutes;
save.AppointmentStatus = Microsoft.Phone.UserData.AppointmentStatus.Busy;
save.Show();
}

 

Maps Task

Windows Phone’daki native harita uygulamasına yönlendirme yapabilir, mekana ait isim (ip ucu kelimeler, string bir değer) veya geo-coordinate değerlerini sunup haritada dilediğiniz bir noktayı kullanıcıya gösterebilirsiniz. ZoomLevel methoduyla ise haritaya olan yakınlık mesafesini ayarlayabilirsiniz.

 

using Microsoft.Phone.Tasks;
using System.Device.Location;
private void maps_task(object sender, RoutedEventArgs e)
{
MapsTask map = new MapsTask();
map.SearchTerm = "istanbul taksim";
map.ZoomLevel = 3;
map.Show();
}

 

Maps Direction Task

Native harita uygulamasıyla, belirlediğiniz A ve B noktaları arasındaki yolu gösterebilirsiniz. Bu işlem için LabeledMapLocation class’ının Label ve Location parametrelerini kullanabilirsiniz.

 

windows phone 8 sdk maps direction task

 

using Microsoft.Phone.Tasks;
private void map_direction_task(object sender, RoutedEventArgs e)
{
MapsDirectionsTask MapsDirectionsTask = new MapsDirectionsTask();
MapsDirectionsTask.Start = new LabeledMapLocation("Istanbul Mecidiyeköy", null);
MapsDirectionsTask.End = new LabeledMapLocation("Istanbul Taksim", null);
MapsDirectionsTask.Show();
} 

 

LabeledMapLocation class’ının Location parametresini null belirlediğinizde, ilk parametredeki string değer harita üzerinde konum araması yapmak için kullanılır. Birden fazla konum bulunduğunda ise kullanıcı bulunan konumların listelendiği ekrana yönlendirilir.

 

Farklı bir senaryoda A noktası telefonun mevcut konumu da olabilir. MapsDirectionTask’in Start metoduna değer vermeyerek başlangıç noktası olarak telefonun mevcut konumunu kullanabilirsiniz.

 

using Microsoft.Phone.Tasks;
using System.Device.Location;
private void map_direction_task(object sender, RoutedEventArgs e)
{
MapsDirectionsTask MapsDirectionsTask = new MapsDirectionsTask();
GeoCoordinate besiktas_koordinat = new GeoCoordinate(41.042646, 29.007299);
MapsDirectionsTask.End = new LabeledMapLocation("Istanbul Beşiktaş", besiktas_koordinat);
MapsDirectionsTask.Show();
} 

 

Map Updater ve Map Downloader Task

Şimdiye kadar göz attığımız task’leri önem sırasına koyacak olsaydım, muhtemelen listenin en alt sırasında bu iki task’e yer verirdim. Yine de kısaca bahsedecek olursak MapDownloaderTask ile telefona indirilmiş çevrimdışı haritaların görülebileceği sayfaya uygulamanızdan yönlendirme yapabilirsiniz.

 

windows phone 8 sdk maps downloader task

 

using Microsoft.Phone.Tasks;
private void map_downloader_task(object sender, RoutedEventArgs e)
{
MapDownloaderTask mapdownloader = new MapDownloaderTask();
mapdownloader.Show();
}

 

MapsUpdaterTask’le ise, çevrimdışı haritaların güncelleme kontrolünün yapıldığı sayfaya yönlendirme yapabilirsiniz.

 

windows phone 8 sdk maps updater task

 

using Microsoft.Phone.Tasks;
private void map_updater_task(object sender, RoutedEventArgs e)
{
MapUpdaterTask mapupdater = new MapUpdaterTask();
mapupdater.Show();
}

 

Kurumsal, harita uygulamaları geliştiren ekiplerin işine yarayabilir belki. Kim bilir? :)

 

Share Media Task

İlk bakışta kelime anlamıyla heyecanlandıran bu task şimdilik sadece fotoğraf paylaşımına izin veriyor. Yani kod tarafından uygulamanızdaki bir fotoğraf dosyasının veya kamerayla çekilen bir fotoğrafın, NFC, E-mail veya desteklenen diğer sosyal platformlarda (OneNote, Twitter, Whatsapp vb.) paylaşılabilmesini sağlayabilirsiniz.

 

Dolayısıyla öncelikle bir fotoğraf dosyasına ihtiyacımız var. Bunun için PhotoChooserTask’i kullanmalısınız. PhotoChooserTask’le uygulamanızdan telefondaki fotoğraf galerisine ve kameraya ulaşım sağlayabilirsiniz.

 

windows phone 8 sdk photo chooser task

using Microsoft.Phone.Tasks;
private void share_media_task(object sender, RoutedEventArgs e)
{
PhotoChooserTask choosen_photo = new PhotoChooserTask();
choosen_photo.ShowCamera = true;
var take_choosen = choosen_photo;
take_choosen.Completed += PhotoChooserTaskCompleted;
take_choosen.Show();
}

 

Fotoğraf seçildikten sonra kod tarafında ShareMediaTask’in FilePath methoduna fotoğrafın dosya adını tanımlanarak paylaşım ekranına yönlendirebilirsiniz.

 

windows phone 8 sdk share media task

 

void PhotoChooserTaskCompleted(object sender, PhotoResult e)
{
var share_media = new ShareMediaTask { FilePath = e.OriginalFileName };
share_media.Show();
}

 

Save Ringtone Task

Uzun zamandır Windows Phone’da olması istenilen zil sesi kaydetme özelliği için nihayet Windows Phone 8 SDK ile destek geldi. Ancak çok heyecanlanmayın :) henüz işletim sistemindeki fonksiyonlara farklı zil sesleri atayabilmenin imkanı yok. Yine de gelişmeler sevindirici.

 

SaveRingtoneTask’ın Source metodunu kullanarak M4R, MP3 ve WMA formatındaki 30Mb’dan küçük ses dosyalarını zil sesi olarak kaydedebilirsiniz.

 

windows phone 8 sdk save ringtone task

 

using Microsoft.Phone.Tasks;
private void save_ringtone(object sender, RoutedEventArgs e)
{
SaveRingtoneTask saveringtone = new SaveRingtoneTask();
saveringtone.Source = new Uri("appdata:/ringtone/Super_Mario_Ringtone.mp3");
saveringtone.DisplayName = "Super Mario Ringtone";
saveringtone.Show();
}

 

Örneklerin bulunduğu uygulamayı aşağıdaki linkte bulabilirsiniz. Kendinize iyi bakın, görüşmek üzere.

 

Wp8_yeni_launcher_ve_chooserlar.rar (896,53 kb)

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!