Windows Phone 8 için share task‘ları kullanacağımız bir uygulama geliştireceğiz.
Bu uygulamanın geliştirilmesi sırasında ShareStatusTask, ShareLinkTask, ShareMediaTask, CameraCaptureTask gibi yapıları kullandığımız kodlar yazacağız.
Öncelikle ShareTasks isimli yeni bir Windows Phone App projesi oluşturalım;
Proje oluşturduktan sonra gelen Windows Phone Platform versiyon seçim penceresinde Windows Phone OS 8.0 seçeneğinin seçili olduğundan emin olmalıyız;
Ekran tasarımı için MainPage.xaml dosyasını aşağıdaki gibi güncelleyelim;
<Grid x:Name=”LayoutRoot” Background=”Transparent”> <Grid.RowDefinitions> <RowDefinition Height=”Auto” /> <RowDefinition Height=”Auto” /> <RowDefinition Height=”Auto” /> <RowDefinition Height=”Auto” /> <RowDefinition Height=”Auto” /> <RowDefinition Height=”Auto” /> <RowDefinition Height=”Auto” /> <RowDefinition Height=”Auto” /> <RowDefinition Height=”Auto” /> <RowDefinition Height=”Auto” /> <RowDefinition Height=”Auto” /> </Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="125" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="SHARE TASKS" Style="{StaticResource PhoneTextNormalStyle}" Margin="15,0" Grid.Row="0" Grid.ColumnSpan="2" />
<TextBlock Text="share status" Margin="10,0,0,10" Style="{StaticResource PhoneTextExtraLargeStyle}" Grid.Row="1" Grid.ColumnSpan="2" />
<TextBlock Text="STATUS" Margin="30,20,0,0" Style="{StaticResource PhoneTextTitle3Style}" Grid.Row="2" Grid.Column="0" />
<TextBox Margin="0,0,0,0" Name="txtShareStatus_Status" Grid.Row="2" Grid.Column="1" />
<Button Content="PAYLAŞ" Name="btnShareStatus" Margin="0,0,0,0" Grid.Row="3" Grid.ColumnSpan="2" Click="btnShareStatus_Click" />
<TextBlock Text="share link" Margin="10,0,0,0" Style="{StaticResource PhoneTextExtraLargeStyle}" Grid.Row="4" Grid.ColumnSpan="2" />
<TextBlock Text="TITLE" Margin="30,20,0,0" Style="{StaticResource PhoneTextTitle3Style}" Grid.Row="5" Grid.Column="0" />
<TextBox Margin="0,0,0,0" Name="txtShareLink_Title" Grid.Row="5" Grid.Column="1" />
<TextBlock Text="MESSAGE" Margin="30,20,0,0" Style="{StaticResource PhoneTextTitle3Style}" Grid.Row="6" Grid.Column="0" />
<TextBox Margin="0,0,0,0" Name="txtShareLink_Message" Grid.Row="6" Grid.Column="1" />
<TextBlock Text="LINK URL" Margin="30,20,0,0" Style="{StaticResource PhoneTextTitle3Style}" Grid.Row="7" Grid.Column="0" />
<TextBox Margin="0,0,0,0" Name="txtShareLink_Url" InputScope="Url" Grid.Row="7" Grid.Column="1" />
<Button Content="PAYLAŞ" Name="btnShareLink" Margin="0,0,0,0" Grid.Row="8" Grid.ColumnSpan="2" Click="btnShareLink_Click" />
<TextBlock Text="share media" Margin="10,0,0,0" Style="{StaticResource PhoneTextExtraLargeStyle}" Grid.Row="9" Grid.ColumnSpan="2" />
<Button Content="KAMERA ÇEK ve PAYLAŞ" Name="btnShareMedia" Margin="0,0,0,0" Grid.Row="10" Grid.ColumnSpan="2" Click="btnShareMedia_Click" /> </Grid></pre>
Butonlara basıldığında tetiklenecek method’ları MainPage.xaml.cs dosyasına ekleyelim;
private void btnShareStatus_Click(object sender, RoutedEventArgs e) { var Status = txtShareStatus_Status.Text; ShareStatusTask task = new ShareStatusTask(); task.Status = Status; task.Show(); } private void btnShareLink_Click(object sender, RoutedEventArgs e) { var Title = txtShareLink_Title.Text; var Message = txtShareLink_Message.Text; var Url = txtShareLink_Url.Text; ShareLinkTask task = new ShareLinkTask(); task.Title = Title; task.Message = Message; task.LinkUri = new Uri(Url, UriKind.RelativeOrAbsolute); task.Show(); } private void btnShareMedia_Click(object sender, RoutedEventArgs e) { CameraCaptureTask task = new CameraCaptureTask(); task.Completed += CameraCaptureTask_Completed; task.Show(); } private void CameraCaptureTask_Completed(object sender, PhotoResult e) { ShareMediaTask task = new ShareMediaTask(); task.FilePath = e.OriginalFileName; task.Show(); } ShareStatusTask, ShareLinkTask, ShareMediaTask sınıflarından yeni bir örnek oluşturulup, Show() method'u çağırıldığı zaman, telefonuna bağlı hesaplardan oluşan *bir liste* ekrana gelir ve *seçilen hesap* üzerinden *paylaşım gerçekleştirilir*. Uygulamayı çalıştırdığımızda ve Paylaş butonlarından birine bastığınızda aşağıdaki aşağıdaki ekran görüntülerini görüyor olmamız lazım; ![Share Tasks Windows Phone 8 Application](/assets/uploads/2012/12/ShareTasks3.png) ![Share Tasks Windows Phone 8 Application](/assets/uploads/2012/12/ShareTasks4.png) Projenin kodlarını buradan indirebilirsiniz.
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484