13 Ekim 2010

Windows Phone 7 Task Library

Merhaba, bu makalemizde Windows Phone 7 Tasks Library içerisinde yer alan bazı sınıfların kullanımlarını temel düzeyde, örneklerle ele alacağız. Task sınıfları Microsoft.Phone.Tasks namespace içinde yer almaktadır. Yeni bir Silverlight Phone projesi oluşturduğumuzda Microsoft.Phone.dll isimli referansın eklenmiş olduğunu göreceğiz. Aşağıdaki sınıfları kullanabilmek için namespace belirtmek yeterli olacaktır.

Task Sınıfları



CameraCaptureTask
Kamera uygulamasını başlatmak için kullanılır. Bu sayede uygulamamız
içinden fotoğraf çekme yeteneğine kavuşmuş oluruz.


EmailAddressChooserTask
Phone 7 içindeki rehbere erişmek için kullanılır. Uygulamamız
içinden rehberi açmamızı sağlayacaktır.


EmailComposeTask
E-Posta uygulamasını başlatır. Bu sınıf ile e-posta gönderebiliriz.


EmailResult
E-Posta sonuç bilgileri barındırır.


MarketplaceDetailTask
Windows Phone Marketplace ürünlerinin detay sayfalarını barındırır.


MarketplaceHubTask
Marketplace client uygulamayı başlatmak için
kullanılır.


MarketplaceReviewTask
Windows Phone Marketplace ürünlerinin yorum sayfalarını barındırır.


MarketplaceSearchTask
Windows Phone Marketplace ürünleri için arama sonuçlarını tutar.


MediaPlayerLauncher
Media player uygulamasını başlatır.


PhoneCallTask
Telefon uygulamasını başlatır.


PhoneNumberChooserTask
Rehbere erişilir. Rehberden kişiye ait tel. numarası seçimi için
kullanılır.


PhotoChooserTask
Fotoğrafların listelenmesini ve üzerinden istediğimiz fotoğrafı
seçebilmemizi sağlar.


SaveEmailAddressTask
E-Posta adresinin kaydedilmesi için kullanılır.


SavePhoneNumberTask
Tel. No. kaydedilmesi için kullanılır.


SearchTask
Belirtilen string kelimeye göre internet üzerinden arama
yapılabilmesini sağlar.


SmsComposeTask
Sms göndermemizi sağlar.


WebBrowserTask
Web Browser'ın başlatılmasını sağlar.

Yukarda açıklamalarını belirttiğimiz sınıflardan bazılarını kullanalım.

Örnek SearchTask:

Verilen string arama kriterine uygun sonuçları listeleyecektir. Aşağıdaki kod satırlarını Silverlight Windows Phone 7 de bir button altına kopyalarsak, aşağıdaki sonuçları göreceğiz. Sonuç listesinden önce bir defa gelen uyarıya 'Allow' diyerek izin vermeliyiz.

private void Btn_Click(object sender, RoutedEventArgs e) {
SearchTask
searchTask = new SearchTask();
searchTask.SearchQuery = "Phone 7";

searchTask.Show();

}




Şimdi de Rehberden bir kişi seçerek e-posta gönderme örneğini inceleyelim.

private void Btn_Click(object sender, RoutedEventArgs e) {

EmailAddressChooserTask adresTask = new EmailAddressChooserTask();

adresTask.Completed += new EventHandler<EmailResult>(adresTask_Completed);

adresTask.Show();

}


private void adresTask_Completed(object sender, EmailResult e) {

if (e.TaskResult == TaskResult.OK) {

EmailComposeTask mailCompose = new EmailComposeTask();

mailCompose.To = e.Email;

//-- mailCompose.Cc = "";

mailCompose.Subject = "Windows Phone 7";

mailCompose.Body = "These sentences will be body part of the my e-mail. Best Regards.";


mailCompose.Show();

}

}



Son olarak Phone7 kamera kullanma örneği yazalım. Kamera ile çekilen fotoğrafı telefonumuzun media kütüphanesine de ekleyebiliriz. Bunun için ayrıca uygulamıza Microsoft.Xna.Framework'ü referans olarak eklemeliyiz.


using Microsoft.Xna.Framework.Media;



private void Btn_Click(object sender, RoutedEventArgs e) {

CameraCaptureTask camTask = new CameraCaptureTask();

camTask.Completed += camTask_Completed;

camTask.Show();

}


private void camTask_Completed(object sender, PhotoResult e) {


if (e.TaskResult == TaskResult.OK) {

MediaLibrary library = new MediaLibrary();

Picture picture = library.SavePicture("Resim_1" + ".jpg", e.ChosenPhoto);

}
}

Benzer şekilde Windows Phone 7 içerisinde uygulamamız içinden diğer task library'leri de basitçe kullanmamız mümkün olacaktır.

Kolay gelsin.


Hiç yorum yok: