Componente de contatos

Aplicação de Contatos – Parte 2

Boa tarde galera

No nosso último Hands On mostrei um pouco do ListView e mencionei que continuaria com o tutorial e estou aqui 😀

Nesse post não iremos mexer com mais componentes da Lista propriamente dita, vamos aprender a utilizar componentes para buscar dados dentro do aparelho, ou seja, a lista de contatos 😀

Para isso vamos utilizar o componente Xamarin.Mobile

Vamos lá, abra o projeto que criamos no post anterior :)

O Componente de Contatos (e outras coisas)

Após abrir a IDE busque pelo pacote Xamarin.Mobile na lista de componentes do Xamarin ou no Nuget, lembre-se de instalar ele em todas as plataformas.

Vou acessas a loja de componentes e adicionar o Xamarin.Mobile no App

Componente de acesso a Contatos

Após Adicionar ao App, basta inserir as dependencias separadamente acessando a pasta Components localizada na pasta do projeto.

Feito isso, precisamos agora criar uma forma de buscar os contatos. Com essa biblioteca precisamos implementar a busca para cada dispositivo, ou seja. Vamos precisar usar Interfaces para essa comunicação.

Preparando o projeto

No projeto PORTABLE adicione uma pasta chamada Interfaces e adicione nessa pasta uma interface com o nome IContacts.

Coloque essa interface como publica e adicione um método chamado Busca contatos, ficara dessa forma

No projeto Droid crie uma pasta chamada Implements e adicione a classe Contacts nela e faça ela implementar a nossa Interface, além disso precisamos dizer que ela será um serviço da aplicação. Ela ficara assim:

A linha de código acima do namespace vai permitir que a gente chame a implementação a partir da Interface :)

Irei colocar a implementação para as outras classes no GitHub :)

Ainda no projeto android, vá nas propriedades dele e acesse o Android Manifest e habilite a permissão READ_CONTACTS

Agora vamos ao nosso projeto principal, iremos abrir o código da página ListaContatos e faremos acesso ao serviço que criamos na plataforma android a partir da Interface. Ela ficara assim

Dependendo da quantidade de contatos que você possua no celular, a busca será bastante demorada pois não fazemos tratamento algum e buscamos todos os usuário de uma vez só. Podemos criar várias formas para que a busca torne-se mais rápida. Desde buscar por fatias os contatos ou deixar uma thread que alimente nossa lista aos poucos ou filtrar nossa lista para algo do nosso interesse. Mas isso no momento não é nosso objetivo.

Aqui aprendemos a utilizar DependencyService, que pode ser usado para inúmeras coisas, como buscar a localização do usuário, implementar uma conversão de Texto para Fala, Iniciar um download, salvar um arquivo e outras coisas. Aqui utilizamos uma biblioteca externa para buscar os contatos, para que não fosse necessário tratar tudo que ela já trata.

No próximo Post iremos criar nosso próprio serviço que ira fazer ligações para esses contatos e melhorar um pouco o layout :)

O Projeto está no GitHub, link para o Git no menu a direita 😀

Avalie nosso post

Rafael Moura

Desenvolvedor .NET, mais de 5 anos de experiência, apaixonado por tecnologia, Xamarin Student Partner Regional Lead Central/South America, Xamarin Comunity Speaker, Xamarin Certified Mobile Developer e Windows Phone Developer.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: