Artigo do tipo Tutorial
Recursos especiais neste artigo:
Conteúdo sobre boas práticas.
Autores: Ricardo Ogliari e Robison Cris Brito
Aprenda a criar aplicativos LBS para a plataforma Windows Phone
O artigo trata da criação de aplicativos LBS (Location Based System) para a plataforma Windows Phone. Este tema está muito em voga atualmente, sendo quase que imprescindível um bom profissional conhecê-lo e saber como aplicá-lo em sua plataforma escolhida, sendo ela Android ,iOS ou Windows Phone. Basicamente vamos aprender como interceptar mudanças na posição do usuário e como transcrevê-las para o Bing Maps. Também vamos conhecer um Web Service que nos ajuda no processo de geocoding e reverse geocoding, utilizando-o dentro do aplicativo exemplo que será construído.


Em que situação o tema é útil
É útil para desenvolvedores que desejam produzir aplicativos diferenciados na plataforma Windows Phone, além disso, o leitor conhecerá mais sobre um tema importantíssimo, a geolocalização e aplicativos LBS.

Recentemente uma publicação da Wired noticiou que a loja online da Apple possui cerca de 700.000 aplicativos disponíveis. Um número muito chamativo. A loja do Android, a Google Play, também não está muito atrás neste quesito, falando-se em torno de 650.000 aplicativos disponíveis. Independente de qualidade de loja e de submissões, temos aí um total de 1.350.000 aplicações, um número muito alto.

Isso nos revela algumas questões. A primeira delas: é quase impossível criarmos algo novo, eu disse quase. Podemos tirar outra conclusão a partir desta: se quase tudo que criarmos já tiver algo semelhante na loja, devemos caprichar muito no nosso software, além de vender muito bem nossa ideia, para ganharmos espaço e dinheiro.

A primeira característica que nos vem à mente são as interfaces gráficas, e as imagens de screenshots e propaganda que são vinculadas no momento de subir o aplicativos para a loja. Com certeza isso tem um peso muito grande e um papel preponderante na escolha dos nossos futuros clientes, porém, acredito que só isso não basta.

Com a evolução dos smartphones, os usuários estão cada vez mais exigentes. Foi-se o tempo que um aplicativo sem qualquer interface, mas com um foco muito bem definido, poderia fazer sucesso em Java ME. Hoje em dia, nossas criações devem ser inteligentes, devem usar sensores e posicionamento global de uma maneira eficaz, impressionando nosso cliente, fornecendo para ele muito mais do que nosso concorrente fornece.

Por exemplo, temos um número muito grande de aplicativos de rotas nas lojas de todas as plataformas. Porém, uma solução que perceba suas escolhas de caminho, traçando perfil do usuário em relação a escolha de avenida ou ruas, melhor caminho ou caminho mais barato, ônibus ou carro particular ainda é rara. E mais que isso, o aplicativo poderia traçar a rota baseado nos gostos do usuário. Ele poderia perceber que o usuário está viajando com a família de férias e sabe que a família gosta de parar em lojas de artesanato. Sendo assim, cria-se uma rota onde esteja disponível um comércio volumoso deste tipo de artefato.

Outro exemplo: um aplicativo de listagem de vinhos poderia ser mais que isso. Poderia perceber se o usuário está em casa ou não, perceber a intensidade de luminosidade ambiente através do sensor de luz do aparelho e, com base nestas informações e no perfil do usuário, indicar receitas condizentes com o momento. O usuário ficaria espantado, acharia aquilo mágica, mas iria adorar o aplicativo.

E se não bastasse isso, as plataformas mobile modernas apresentam muitas facilidades de utilizar estes recursos. Aqui mesmo na revista, em edições anteriores, já demonstramos como utilizar sensores no Android. A facilidade impressiona. E isto não muda muito quando migramos para iOS ou Windows Phone.

E também não diferencia quando o alvo é a criação de aplicações LBS (Location Based System). No Android temos uma forte integração com o Google Maps e um rico conjunto de classes e interfaces. Com menos de 5 linhas de código é possível ter um mapa global na sua aplicação. E, novamente, este nível de facilidade também é encontrado na plataforma iOS.

E sobre Windows Phone? Bem, fique calmo que este é justamente o assunto deste artigo. Vamos demonstrar na forma de um exemplo a facilidade de criar um aplicativo LBS para esta plataforma. O mesmo irá perceber mudanças de posicionamento do nosso usuário e atualizará o mapa mostrado na aplicação.

Além disso, iremos utilizar o Bing Maps SOAP Service para fazer geocode e reverse geocode. Geocode é o nome dado à tarefa de transformar um endereço (avenida paulista, 900, são Paulo, Brasil) em latitude e longitude. Reverse Geocode é justamente o processo inverso, ou seja, transformar um par latitude/longitude em endereço.

Porque eles são tão importantes? Seu usuário não vai gostar nada de ver a seguinte informação na tela da aplicação: “Caro usuário, você está na posição -46.7878878, -55,9898989”. Ele desejará saber o nome da rua e número que ele está, o nome da cidade, do estado e do país. Dito isto, vamos para a prática agora.

O Aplicativo

O aplicativo vai mostrar o Bing Maps na região central da tela (ver Figura 1). Ele será movido para a localização geográfica do usuário, sendo marcado com um POI (Point Of Interest) para os locais interessantes ao seu redor. Perceba que na parte inferior temos dois controles de zoom. Na parte superior temos uma caixa de entrada de texto com um botão “Buscar” ao seu lado. O usuário poderá colocar um endereço geográfico e o mapa aponta para aquele local. Por fim, abaixo deles temos um campo de seleção que altera o modo do mapa, de Aéreo para Térreo.

...

Quer ler esse conteúdo completo? Tenha acesso completo