Skip to content

devAndreNicolas/missoes-do-dia

Repository files navigation

Missoes do Dia

App Android em Java para a NUP 2 de Programacao Para Dispositivos Moveis.

Tema: uma central de operacoes onde o usuario cadastra, acompanha e conclui missoes. O app foi pensado para ser simples de apresentar, mas com uma ideia menos padrao do que uma lista de tarefas comum.

O que o projeto entrega

  • CRUD completo de missoes
  • SQLite em memoria
  • SharedPreferences
  • Service
  • BroadcastReceiver
  • AsyncTask
  • UI em Activity + XML

Estrutura principal

  • MainActivity: tela principal, CRUD e integracao da UI
  • MissionDbHelper: banco SQLite em memoria
  • MissionRepository: regras de persistencia
  • PreferencesManager: configuracoes com SharedPreferences
  • MissionPulseService: varredura periodica em segundo plano
  • MissionSignalReceiver: recepcao de broadcast customizado
  • MissionAnalysisTask: processamento assincro com AsyncTask

Como abrir

Opcao 1: Android Studio

Essa e a forma mais simples.

  1. Instale o Android Studio.
  2. Durante a instalacao, deixe marcado:
    • Android SDK
    • Android SDK Platform
    • Android SDK Platform-Tools
    • Android Emulator
  3. Abra o Android Studio.
  4. Clique em Open.
  5. Selecione a pasta deste projeto.
  6. Aguarde o sync do Gradle.

Observacao importante:

  • Este ambiente onde o projeto foi montado nao tinha Gradle instalado localmente, entao o gradle-wrapper.jar nao foi gerado automaticamente.
  • Se o Android Studio reclamar do wrapper, instale Gradle localmente e rode gradle wrapper uma vez na raiz do projeto, ou crie um projeto Android Java vazio no Android Studio e copie estes arquivos por cima.

Opcao 2: VS Code

Voce pode editar no VS Code, mas para build Android o caminho mais confiavel continua sendo Android Studio.

Se quiser usar seu VS Code com a extensao de emulador:

  1. Instale Android Studio.
  2. Crie um AVD no Android Studio.
  3. Configure o caminho do emulator no VS Code:
"emulator.emulatorPathWindows": "C:\\Users\\SEU_USUARIO\\AppData\\Local\\Android\\Sdk\\emulator"
  1. Rode o emulador pela extensao.
  2. Use Android Studio para sync/build, ou Gradle local se tiver instalado.

Java / JDK

Recomendado:

  • JDK 17

Pode funcionar com:

  • JDK 21
  • JDK 25

Mas, para Android/Gradle, se o JDK 25 causar erro de compatibilidade, troque para 17.

Build do APK

Pelo Android Studio

  1. Abra o projeto.
  2. Espere o sync terminar.
  3. Menu Build > Build Bundle(s) / APK(s) > Build APK(s).
  4. O Android Studio mostrara um link quando o APK estiver pronto.

Caminho esperado:

app/build/outputs/apk/debug/app-debug.apk

Pela linha de comando

Se voce instalar Gradle e quiser gerar o wrapper:

gradle wrapper

Depois:

gradlew.bat assembleDebug

Se estiver no Git Bash ou Linux:

./gradlew assembleDebug

Instalar no celular com cabo USB

Preparacao

  1. No celular, ative Opcoes do desenvolvedor.
  2. Ative Depuracao USB.
  3. Conecte o celular no computador.
  4. Confirme a autorizacao ADB no celular.

Verificar o dispositivo

adb devices

Se aparecer um serial com status device, esta pronto.

Instalar

adb install -r app\\build\\outputs\\apk\\debug\\app-debug.apk

Abrir o app

adb shell monkey -p br.edu.ppdm.missoesdodia 1

Rodar no emulador

Pelo Android Studio

  1. Abra Device Manager.
  2. Crie um emulador Android.
  3. Inicie o emulador.
  4. Clique em Run.

Pelo VS Code com a extensao que voce citou

  1. Garanta que o AVD ja foi criado no Android Studio.
  2. Inicie o emulador pela extensao.
  3. Depois rode o app pelo Android Studio ou use ADB para instalar o APK.

Fluxo rapido para apresentar

  1. Abrir o app.
  2. Cadastrar 2 ou 3 missoes com prioridades diferentes.
  3. Editar uma missao.
  4. Concluir uma missao.
  5. Excluir uma missao.
  6. Ligar o radar manual.
  7. Enviar um sinal para o BroadcastReceiver.
  8. Rodar a AsyncTask no botao Analisar missoes.
  9. Mostrar no painel:
    • total
    • pendentes
    • concluidas
    • criticas
    • horario do ultimo broadcast

Observacao sobre o SQLite em memoria

O banco foi feito em memoria de proposito, como voce pediu.

Isso significa:

  • os dados existem enquanto o processo do app estiver vivo
  • se o app for encerrado de vez pelo sistema, as missoes somem

Para apresentacao em sala isso e bom porque deixa a demo controlada e sem lixo de execucoes anteriores.

Arquivo dos requisitos

Leia tambem:

  • REQUISITOS_NUP2.md

Esse arquivo explica:

  • o que e cada requisito
  • onde esta no codigo
  • como demonstrar funcionando

O que nao consegui validar aqui

Este ambiente nao tinha java, adb nem gradle disponiveis no PATH, entao eu nao consegui rodar build local nem gerar APK daqui. O projeto foi estruturado completo, mas a validacao final do APK precisa ser feita na sua maquina com Android Studio ou com Gradle instalado.

About

Java mobile application for operators manage missions with Service, AsyncTask, SQLite and SharedPreferences architeture.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages