Vamos começar a trabalhar no módulo de geolocalização. Anteriormente, foi solicitado que integrássemos o módulo nativo de câmera, e agora o foco é desenvolver um módulo de geolocalização.
Atualmente, é possível tirar fotos e cadastrar uma aventura com título, descrição e data. A funcionalidade de data ainda pode ser aprimorada no futuro. Agora, o principal objetivo é que o módulo de localização permita obter a geolocalização da pessoa usuária e possibilite salvar a localização da aventura, futura ou já vivenciada, além de permitir edições.
Execução da aplicação em diferentes plataformas
Com o editor de texto aberto do repositório do Desbrava App, abrimos dois terminais. Em um deles, rodamos o comando para rodar a aplicação no iOS e no outro o android.
Estamos rodando as duas plataformas, pois utilizamos um computador com macOS, o que nos dá acesso ao Xcode e aos simuladores do iOS e Android. Se você estiver utilizando um computador com Windows ou Linux, provavelmente terá acesso apenas ao simulador do Android.
Testes de funcionalidade nos simuladores
Com as duas aplicações abertas, os módulos nativos já estão funcionando. Vamos trabalhar com a localização. No iOS, ao clicar em "Adicionar Aventura", somos encaminhados para a outra tela com campos de preenchimento. Em Nome, escrevemos "ios 1", abaixo, definimos a data "12/12/2025", lembrando que esse campo é uma string e não fazemos validação de data por enquanto.
Abaixo, adicionamos uma descrição "Lorem Ipsum". Clicamos em "Adicionar imagem" e tiramos uma fotos. Lembrando que, como esse é um simulador, não temos uma câmera real. Feito isso, um timestamp é gerado, mostrando a data e o horário no formato de 12 horas com AM/PM.
Agora, faremos o mesmo teste no android, preeenchendo os campos com os mesmos dados. Feito isso, ao clicar em "Adicionar imagem", notamos que o módulo de câmera do simulador do Android é utilizado. É mais esteticamente agradável, simulando um ambiente com uma estante de livros, uma TV, um gato, imitando uma câmera.
Seria interessante testar após instalar e exportar o build com um APK ou IPA e fazer o upload no celular. Assim, conseguimos ver uma câmera real. No entanto, por questões didáticas, é mais fácil utilizar o simulador. Mas recomendamos que você use um dispositivo físico para uma experiência mais completa.
Ao clicar em "tirar foto", ele não captura a imagem que estava sendo exibida na tela, e sim um fundo preto com um timestamp bem pequeno. No Android, a data aparece no formato de 24 horas.
Feito isso, clicamos no botão "Adicionar", no android e iOsA, assim, a imagem é adicionada na tela inicial. Já temos um gerenciamento de contexto funcionando na aplicação, que a Desbrava nos forneceu.
A intenção é, além de exibir as informações que já mostramos, habilitar a edição, que ainda não funciona em nenhuma das plataformas, e adicionar uma nova aventura. Por exemplo, no iOS, podemos criar um evento de comemoração do Ano Novo. A ideia é que o formulário permita adicionar a localização da aventura, seja no momento da edição ou criação, embora não seja obrigatório.
Próximos passos para implementação de geolocalização
No card da tela inicial, onde aparece "Teste iOS" ou "Teste iOS 2", queremos exibir a distância aproximada entre o local atual e o local da aventura. Essa informação será acompanhada por um ícone de localização, indicando a distância em quilômetros ou metros, permitindo explorar melhor a funcionalidade de geolocalização.
Essa implementação será feita por meio de módulos nativos, que começaremos a desenvolver em breve. Em seguida, configuraremos as permissões necessárias para ambas as plataformas, garantindo a integração com geolocalização e mapas, aprimorando ainda mais o Desbrava App. Nos encontramos na próxima etapa para seguir com essa jornada!