Skip to content

GNSS Sky Viewer é um aplicativo Android desenvolvido como um componente de UI customizado para visualizar, em tempo real, a projeção da esfera celeste e os satélites dos sistemas de navegação GPS, GLONASS, BeiDou e Galileo.

Notifications You must be signed in to change notification settings

RafaelQSantos-RQS/GNSSViewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GNSS Sky Viewer

Banner do App

📄 Descrição

GNSS Sky Viewer é um aplicativo Android desenvolvido como um componente de UI customizado para visualizar, em tempo real, a projeção da esfera celeste e os satélites dos sistemas de navegação GPS, GLONASS, BeiDou e Galileo. O app oferece uma interface rica e interativa, permitindo que o usuário filtre e identifique os satélites com base em sua constelação e status de uso.

Este projeto foi construído do zero, com foco em boas práticas de desenvolvimento Android, otimização de performance no desenho de custom views e uma experiência de usuário (UI/UX) limpa e temática.


✨ Funcionalidades Principais

  • Visualização em Tempo Real: Desenha a posição dos satélites na esfera celeste (azimute e elevação) assim que os dados do hardware de GPS são atualizados.
  • Suporte Multi-Constelação: Identifica e diferencia satélites dos 4 maiores sistemas de navegação globais:
    • 🛰️ GPS (Azul)
    • 🛰️ GLONASS (Vermelho)
    • 🛰️ BeiDou (Amarelo)
    • 🛰️ Galileo (Verde)
  • Identificação de Status: Satélites usados ativamente para o cálculo da localização (Fix) são exibidos preenchidos, enquanto os apenas visíveis são mostrados com contorno.
  • Painel de Configurações: Ao tocar na esfera, um painel de configurações permite filtrar a visualização por constelação e optar por mostrar ou ocultar os satélites não utilizados no Fix.
  • Persistência de Dados: As configurações de filtro são salvas usando SharedPreferences, mantendo as preferências do usuário mesmo após fechar o app.
  • UI Dinâmica e Informativa:
    • Legenda Inteligente: Exibe uma legenda de cores apenas para as constelações que estão visíveis na tela.
    • Contadores em Tempo Real: Mostra o número de satélites visíveis e em uso, atualizados dinamicamente com os filtros aplicados.
  • Interface Imersiva:
    • Fundo Estrelado: Um fundo dinâmico com um gradiente espacial e estrelas geradas aleatoriamente para uma experiência mais temática.
    • Layout Responsivo: O app respeita as áreas de sistema (barra de status) para uma visualização limpa em tela cheia.
  • Componente Customizado: O coração do app, o SkyView, é um componente View totalmente customizado e reutilizável, com atributos próprios que podem ser definidos via XML (como app:gridColor).

📸 Screenshots

Tela Principal Painel de Configurações
Tela Principal do App Painel de Configurações do App

🛠️ Tecnologias Utilizadas

  • Linguagem: Java
  • SDK: Android SDK
  • UI:
    • Views Customizadas (desenho com Canvas e Paint)
    • Layouts XML (FrameLayout, ConstraintLayout)
    • Recursos Drawable (Gradientes)
    • AlertDialog e Material Components
  • APIs do Android:
    • LocationManager
    • GnssStatus.Callback
  • Persistência:
    • SharedPreferences

🚀 Como Compilar e Executar

  1. Clone este repositório para a sua máquina local.
  2. Abra o projeto com o Android Studio.
  3. Aguarde o Gradle sincronizar todas as dependências.
  4. Conecte um dispositivo Android físico via USB (o emulador pode não fornecer dados de satélite).
  5. Certifique-se de que a Localização (GPS) do dispositivo esteja ativada.
  6. Clique em Run 'app'.

Nota: Para um bom teste, execute o aplicativo em um local com céu aberto para garantir a recepção do sinal GNSS.


👨‍💻 Autor

  • Rafael Queiroz Santos

Projeto desenvolvido para a disciplina de Concepção e Desenvolvimento de Aplicações para Dispositivos Móveis do professor Jorge Alberto Prado de Campos.

About

GNSS Sky Viewer é um aplicativo Android desenvolvido como um componente de UI customizado para visualizar, em tempo real, a projeção da esfera celeste e os satélites dos sistemas de navegação GPS, GLONASS, BeiDou e Galileo.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages