Skip to content

OpenTrails é um aplicativo Android desenvolvido como parte do projeto AVP3, com o objetivo de oferecer aos usuários uma ferramenta intuitiva e eficaz para registrar, monitorar e visualizar suas trilhas e atividades ao ar livre

Notifications You must be signed in to change notification settings

RafaelQSantos-RQS/OpenTrails

Repository files navigation

OpenTrails - Gerenciador de Trilhas 🏞️🚶‍♂️

Visão Geral do Projeto

OpenTrails é um aplicativo Android desenvolvido como parte do projeto AVP3, com o objetivo de oferecer aos usuários uma ferramenta intuitiva e eficaz para registrar, monitorar e visualizar suas trilhas e atividades ao ar livre. Utilizando recursos de GPS, o app acompanha a distância percorrida, velocidade, duração e estima calorias queimadas, salvando todas essas informações para consulta futura.

O projeto foi construído com as mais recentes diretrizes de Material Design, garantindo uma experiência de usuário moderna, responsiva e agradável, com suporte completo a temas claro e escuro.

Funcionalidades Principais

  • Registro de Trilhas: Inicie e pare o rastreamento de suas trilhas em tempo real, visualizando dados como velocidade atual, distância percorrida e tempo decorrido.
  • Dados Detalhados: Ao parar uma trilha, visualize um resumo completo, incluindo duração, distância total, velocidade média, velocidade máxima e estimativa de calorias queimadas.
  • Salvar e Consultar: Salve suas trilhas registradas com nomes personalizados e consulte-as a qualquer momento em uma lista organizada.
  • Visualização Individual: Acesse detalhes específicos de cada trilha salva, incluindo o trajeto no mapa e todos os dados estatísticos.
  • Edição e Exclusão: Edite o nome de trilhas salvas ou exclua-as diretamente da tela de visualização.
  • Compartilhamento: Compartilhe os detalhes de suas trilhas com amigos e outros aplicativos.
  • Configurações Personalizadas: Ajuste configurações como o modo de mapa (normal/satélite) e outras preferências do aplicativo.
  • Design Moderno (Material Design): Interface de usuário intuitiva e agradável, com animações suaves e consistência visual, incluindo suporte a tema escuro.

Tecnologias Utilizadas

  • Linguagem de Programação: Java
  • Framework: Android SDK
  • Design System: Material Design
  • Mapa: Google Maps API (SDK for Android)
  • Banco de Dados: SQLite (com SQLiteOpenHelper)
  • Localização: Android Location Services API

Estrutura do Projeto


app/
├── src/
│   ├── main/
│   │   ├── java/com/example/opentrails/
│   │   │   ├── MainActivity.java           # Tela principal com navegação
│   │   │   ├── RegistrarTrilhaActivity.java  # Tela de registro e rastreamento da trilha
│   │   │   ├── VisualizarTrilhaActivity.java # Tela de detalhes de uma trilha salva
│   │   │   ├── ConsultarTrilhasActivity.java # Tela de listagem de trilhas
│   │   │   ├── ConfiguracaoActivity.java   # Tela de configurações
│   │   │   ├── CreditosActivity.java         # Tela de créditos e informações do desenvolvedor
│   │   │   ├── DatabaseHelper.java           # Helper para o banco de dados SQLite
│   │   │   ├── TrilhaContract.java           # Contrato para o banco de dados
│   │   │   ├── Trilha.java                   # Modelo de dados para Trilha
│   │   │   ├── TrilhaAdapter.java            # Adapter para a RecyclerView de trilhas
│   │   │   └── RastreamentoService.java      # Serviço para rastreamento em background
│   │   ├── res/
│   │   │   ├── drawable/                   # Ícones e gráficos vetoriais
│   │   │   ├── layout/                     # Arquivos de layout XML para as telas
│   │   │   ├── mipmap/                     # Ícones do aplicativo
│   │   │   ├── values/                     # Strings, cores, estilos
│   │   │   └── values-night/               # Estilos para o tema escuro
│   └── AndroidManifest.xml                 # Configurações globais do app, permissões

Como Compilar e Rodar

  1. Clone o Repositório:
    git clone https://github.com/RafaelQSantos-RQS/OpenTrails.git
  2. Abra no Android Studio: Abra o projeto clonado no Android Studio.
  3. Obtenha uma API Key do Google Maps:
    • Siga as instruções do Google Cloud para obter uma chave de API para o Google Maps SDK for Android.
    • Habilite a API de Mapas no seu projeto Google Cloud.
    • No arquivo local.properties do seu projeto Android (se não existir, crie-o), adicione sua chave:
      MAPS_API_KEY="SUA_CHAVE_API_AQUI"
    • No arquivo app/build.gradle (Module: app), você verá como essa chave é injetada no AndroidManifest.xml.
  4. Sincronize o Gradle: Clique em "Sync Project with Gradle Files" na barra de ferramentas do Android Studio.
  5. Execute o Aplicativo: Selecione um emulador ou um dispositivo físico conectado e clique no botão "Run 'app'" (ícone de play verde).

Permissões Necessárias

O aplicativo requer as seguintes permissões para funcionar corretamente:

  • android.permission.ACCESS_FINE_LOCATION: Para obter a localização precisa via GPS.
  • android.permission.ACCESS_COARSE_LOCATION: Para obter uma localização menos precisa, porém mais rápida.
  • android.permission.INTERNET: Para carregar os mapas e outras funcionalidades online.
  • android.permission.FOREGROUND_SERVICE: Para permitir que o serviço de rastreamento de localização seja executado em primeiro plano.
  • android.permission.FOREGROUND_SERVICE_LOCATION: Para permitir que o serviço em primeiro plano acesse a localização.
  • android.permission.POST_NOTIFICATIONS: Para exibir notificações ao usuário, como o status do rastreamento.

Essas permissões são solicitadas em tempo de execução ao usuário quando o aplicativo é iniciado pela primeira vez ou quando uma funcionalidade de localização é acessada.

Desenvolvimento e Contribuição

Este projeto foi desenvolvido por:

Este é um projeto acadêmico. Contribuições externas são bem-vindas se o projeto evoluir para uma fase de código aberto.

About

OpenTrails é um aplicativo Android desenvolvido como parte do projeto AVP3, com o objetivo de oferecer aos usuários uma ferramenta intuitiva e eficaz para registrar, monitorar e visualizar suas trilhas e atividades ao ar livre

Topics

Resources

Stars

Watchers

Forks

Languages