MessagingCenter – Xamarin.Forms

Neste artigo irei demonstrar como você pode utilizar o MessagingCenter em suas aplicações Xamarin.Forms.

 

O que é o MESSAGINGCENTER ? 

De uma forma bem simplista, o MessagingCenter é um serviço de mensagens, que permite você enviar e receber mensagens de diferentes partes da sua aplicação sem que essas partes se “conheçam”.

Ele possui basicamente três métodos importantes, sendo eles:

  • Subscribe – método que “escuta” as mensagens.
  • Send – método que envia uma mensagem.
  • Unsubscribe – método que para de “escutar” as mensagens.

Ainda não ficou claro ?
Sem problemas, vai fazer mais sentido no exemplo a seguir.

 

Layout

Antes de começar a implementar o MessagingCenter, crie uma TabbedPage e duas ContentPages. 

  • MainPage – TabbedPage
  • AddPage – ContentPage
  • ListPage – ContentPage

 

MainPage.xaml

Observe que além das duas páginas, foi adicionado um ToolbarItem, ele será um contador para os itens. 

screen-shot-2018-11-24-at-23-47-231
 

 

AddPage.xaml

Essa página será responsável por adicionar um novo item, para isso adicione um Entry e um Button. 

simulator-screen-shot-iphone-xs-max-2018-11-24-at-23-39-57

 

 

 

ListPage.xaml

Essa página irá listar os itens adicionados.

Simulator Screen Shot - iPhone XS Max - 2018-11-25 at 00.08.14.png

 

 

 

Utilizando o MESSAGINGCENTER

Message.cs

Como iremos trabalhar com envio de mensagens, comece criando a classe Message em seu projeto compatilhado, ela terá as propriedades Title e Value.

 

AddPage.xaml.cs

Quando clicado no botão para adicionar um novo item, envie uma mensagem utilizando o método Send do MessagingCenter, passando como parametro um objeto do tipo Message e uma mensagem. Neste caso a mensagem foi “AddItem”, essa mensagem será utilizada depois pelo método subscribe.

 

ListPage.xaml.cs

Utilize agora o método Subscribe para “escutar” todas as mensagens que contenha “AddItem”. Neste exemplo estou utilizando o Callback para adicionar o item na lista, o item no caso é o objeto message.

 

MainPage.xaml.cs

E por último, utilize o método Subscribe também na MainPage para atualizar o totalizador no ToolbarItem. 

 

Unsubscribe

Caso você venha a ter a necessidade de parar de “escutar” uma determinada mensagem, utilize o método Unsubscribe como demonstrado a seguir.

 

Plataformas

Não ficamos presos apenas dentro de nosso projeto compartilhado, também podemos enviar ou “escutar” uma mensagem em nossos projetos especificos de cada plataforma. Para melhor exemplificar, a seguir irei demonstrar como “escutar” a mensagem e apresentar uma Native Message de acordo com cada plataforma.

Android

 

iOS

 

Resultado

iOS

ezgif.com-gif-maker

 

Android

ezgif.com-video-to-gif

 

Esse e todos os exemplos deste blog encontram-se disponíveis no GitHub.

icongithub

2 comentários em “MessagingCenter – Xamarin.Forms

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s