Com o crescimento absurdo da utilização das redes sociais, é essencial conhecer a boa utilização delas no meio de uma aplicação, porque a cada dia que passa os usuários se interessam mais ainda em manter os amigos e familiares informados sobre o que estão fazendo.

Usuário utilizando o aplicativo do Facebook no Windows Phone

Figura 1: Usuário utilizando o aplicativo do Facebook no Windows Phone

Os usuários estão utilizando as redes sociais para compartilhar tudo, desde a escolha de um local para o almoço, o prato de comida, uma cerveja com os amigos, até o relacionamento pessoal. Então, com certeza é uma boa ideia manter para o usuário a opção de compartilhar um status através de um aplicativo no Windows Phone.

Um bom exemplo desta utilização é um jogo em que o objetivo é acumular pontos e ao ultrapassar a pontuação do seu amigo na rede social, é feita uma publicação no seu perfil em que mostra que você passou a pontuação de alguém no jogo. Com isso os usuários começam a competir para exibir a pontuação aos amigos, dando um benefício muito grande ao criador da aplicação, que é a divulgação do aplicativo nas redes sociais.

No Windows Phone é possível vincular além da conta do Hotmail, o Facebook, Twitter e LinkedIn, então para disponibilizar ao usuário a opção de compartilhamento de status nessas redes sociais vinculadas é exibida a tela conforme a Figura 2.

Tela de compartilhamento de atualização nas redes sociais no Windows Phone

Figura 2: Tela de compartilhamento de atualização nas redes sociais no Windows Phone

No exemplo deste artigo será criado um projeto que conterá um campo de texto, que ao ser preenchido e finalizado, será enviado para a atualização de status na tela conforme a Figura 2.

Abra o Visual Studio e crie um projeto Windows Phone Application chamado ShareTaskProject, conforme a Figura 3.

Criação do Projeto ShareTaskProject no Visual Studio 2012

Figura 3: Criação do Projeto ShareTaskProject no Visual Studio 2012

Ao criar o projeto é exibida uma caixa com a opção de escolha da versão do Windows Phone, escolha a 7.1, pois assim o seu aplicativo funcionará em todas as versões de Windows Phone disponíveis.

O primeiro passo é criar um Grid que conterá um StackPanel que irá segurar os elementos do compartilhamento do Status pela aplicação, que são um Textblock, um Textbox e um Button. Vá para o arquivo MainPage.xaml e no Content Panel adicione os controles conforme a Listagem 1.

Listagem 1: Criação do código para os controles da página principal


<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
	<Grid Width="450" Height="400" VerticalAlignment="Top">
       		<StackPanel Width="450" Height="400">
			<TextBlock Foreground="White" FontSize="35" FontWeight="SemiBold" Text="Redes Sociais - Status" FontFamily="Comic Sans MS" />
			<TextBox Name="txtStatusUsuario" Width="400" Height="90" Margin="0,20,0,0" />
			<Button Name="btnCompartilharStatus" Width="400" Height="90" Content="Compartilhar Status" FontWeight="SemiBold" FontFamily="Comic Sans MS" Background="LightBlue" Click="btnCompartilharStatus_Click" />
                </StackPanel>
	</Grid>
</Grid>

Conforme a Listagem 2, agora deverá ser criado o método no arquivo MainPage.xaml.cs, portanto abra a classe e coloque a referência para o Microsoft.Phone.Tasks. Então você irá criar uma instância do ShareStatusTask, colocar no atributo Status o valor do campo de texto que o usuário preencheu e então utilizar o método Show que exibirá a confirmação do compartilhamento do status ao usuário.

Listagem 2: Código do arquivo MainPage.xaml.cs, manipulação e utilização


using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;

namespace ShareTaskProject
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
        }

        private void btnCompartilharStatus_Click(object sender, RoutedEventArgs e)
        {
            //instância da classe Share Status Task
            ShareStatusTask compartilharStatus = new ShareStatusTask();
            //Preenchimento do Status com o valor do texto do Textbox
            compartilharStatus.Status = txtStatusUsuario.Text;
            //utilização do método Show para exibição da tela de compartilhamento de status
            compartilharStatus.Show();
        }
    }
}

Agora pressione F5 e teste sua aplicação preenchendo um status e clicando em compartilhar.

Aplicação em funcionamento no emulador do Windows Phone

Figura 4: Aplicação em funcionamento no emulador do Windows Phone

Agora, no próximo exemplo, será mostrado como utilizar o ShareLinkTask, então feche o projeto ShareTaskProject e crie um novo conforme o anterior na versão do Windows Phone 7.1 para funcionar em todos os aparelhos e com o nome de ShareLinkTaskProject, como mostra a Figura 5.

Criando o projeto ShareLinkTaskProject no Visual Studio 2012

Figura 5: Criando o projeto ShareLinkTaskProject no Visual Studio 2012

Neste exemplo serão exibidos três TextBoxes, um para conter o link a ser compartilhado e a breve descrição do que seria este link junto a um título de compartilhamento. Da mesma maneira que o exemplo anterior, o primeiro passo é criar um Grid que conterá um StackPanel que irá segurar os elementos do compartilhamento do título, link e da descrição pelo aplicativo, que são três Textblocks, três Textboxes e um Button. Vá para o arquivo MainPage.xaml e no Content Panel adicione os controles conforme a Listagem 3.

Listagem 3: Criação dos controles para o compartilhamento do link


<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
	<Grid Width="450" Height="550" VerticalAlignment="Top">
		<StackPanel Width="450" Height="550">
			<TextBlock Foreground="White" FontSize="25" FontWeight="SemiBold" Text="Título :" FontFamily="Comic Sans MS" />
			<TextBox Name="txtTituloLink" Width="400" Height="90" Margin="0,20,0,0" />
			<TextBlock Foreground="White" FontSize="25" FontWeight="SemiBold" Text="Link :" FontFamily="Comic Sans MS" />
			<TextBox Name="txtLinkUsuario" Width="400" Height="90" Margin="0,20,0,0" />
			<TextBlock Foreground="White" FontSize="25" FontWeight="SemiBold" Text="Descrição :" FontFamily="Comic Sans MS" />
			<TextBox Name="txtDescricaoLink" Width="400" Height="90" Margin="0,20,0,0" />
			<Button Name="btnCompartilharStatus" Width="400" Height="90" Content="Compartilhar Status" FontWeight="SemiBold" FontFamily="Comic Sans MS" Background="LightBlue" Click="btnCompartilharStatus_Click_1" />
		</StackPanel>
	</Grid>
</Grid> 

Agora no arquivo MainPage.xaml.cs, será referenciada da mesma maneira o Microsoft.Phone.Tasks para utilização da classe ShareLinkTask e então no método do evento Click do botão, será criada uma instância desta classe, passando os valores preenchidos nos TextBoxes e então será exibida a tela de compartilhamento do link através do método Show desta mesma classe, conforme a Listagem 4.

Listagem 4: Criação do método do evento Click do botão


using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;

namespace ShareLinkTaskProject
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
        }

        private void btnCompartilharStatus_Click_1(object sender, RoutedEventArgs e)
        {
            ShareLinkTask compartilhar = new ShareLinkTask();
            compartilhar.Title = txtTituloLink.Text;
            compartilhar.LinkUri = new Uri(txtLinkUsuario.Text, UriKind.Absolute);
            compartilhar.Message = txtDescricaoLink.Text;
            compartilhar.Show();
        }
    }
}

Agora já pode pressionar F5 e testar sua aplicação, preenchendo os campos e pressionando o botão para compartilhar o link.

Aplicativo em funcionamento no emulador

Figura 6: Aplicativo em funcionamento no emulador

Um abraço, e até o próximo artigo.