Acompanhamento de peso local, privado e offline-first para Android.
O Controla Peso não é um dispositivo médico. Ele registra peso e apresenta tendências neutras; métricas não confirmadas pelo protocolo permanecem ausentes.
Controla Peso é uma alternativa Android nativa para registrar peso localmente, sem backend, anúncios, analytics ou telemetria. Ele recebe anúncios BLE observados em balanças compatíveis com o fluxo do OKOK International e também permite registros manuais.
Os dados permanecem no dispositivo. Exportação, relatório, backup e Health Connect só ocorrem após uma ação explícita da pessoa usuária. A consulta de release usa GitHub ao abrir o app; cópias de backup só saem pelo Sharesheet Android, após ação explícita.
- Leitura BLE por advertising, sem conexão GATT especulativa.
- Parser defensivo, payload bruto preservado e diagnóstico técnico opcional.
- Histórico local Room, múltiplos perfis, metas, gráficos e tendências.
- Registro manual com máscara de data brasileira
DD-MM-AAAA. - Relatórios PDF/CSV, backup JSON, Sharesheet e SAF.
- Atualização opcional por release estável do GitHub, com checksum e confirmação Android.
- Backup JSON local automático opcional e compartilhamento manual pelo Android.
- Health Connect opcional e somente para escrita de peso.
- Tema claro, escuro, sistema, cores dinâmicas e efeitos visuais reduzidos.
- Layout adaptável para celulares, tablets, dobra, paisagem e tela dividida.
Baixe os artefatos no último release.
| Artefato | Indicado para |
|---|---|
ControlaPeso-vX.Y.Z-universal.apk |
Opção mais simples; inclui ARM e x86. |
ControlaPeso-vX.Y.Z-arm64-v8a.apk |
Quase todos os celulares Android atuais. |
ControlaPeso-vX.Y.Z-armeabi-v7a.apk |
Celulares Android mais antigos de 32 bits. |
ControlaPeso-vX.Y.Z-x86_64.apk |
Emuladores e alguns dispositivos ChromeOS. |
ControlaPeso-vX.Y.Z-x86.apk |
Emuladores legados. |
ControlaPeso-vX.Y.Z.aab |
Publicação em lojas compatíveis com Android App Bundle. |
O app exige Android 7.0 / API 24 ou superior. Verifique SHA256SUMS.txt antes
de instalar um APK. Consulte Distribuição para detalhes
de compatibilidade e assinatura.
- Feche completamente o OKOK International.
- Ative Bluetooth e conceda as permissões necessárias.
- Em Medir, escolha Medir com a balança e inicie a busca.
- Suba na balança e espere a leitura ficar estável.
- Compare valor e unidade com o visor físico antes de salvar.
O scanner não filtra nome ou UUID na descoberta. Dispositivos não reconhecidos continuam visíveis para diagnóstico, mas o app não conecta nem escreve em uma balança automaticamente.
Pré-requisitos: JDK 21, Android SDK 37.1 e Android Studio compatível com AGP 9.3.1. As versões de Gradle, AGP, Kotlin e Compose são deliberadamente preservadas; consulte Dependências.
./gradlew test
./gradlew lint
./gradlew assembleDebug
./gradlew assembleReleaseCom um telefone ou emulador autorizado:
./gradlew connectedAndroidTestO APK debug fica em app/build/outputs/apk/debug/. Para instalar:
adb install -r app/build/outputs/apk/debug/app-universal-debug.apkCompose UI → ViewModels/StateFlow → casos de uso → repositories
├── Room / DataStore / exportação
└── BLE scanner → parser → detector de estabilidade
O scanner BLE e os parsers não dependem de Composables. A rede é limitada ao endpoint público de releases; não há backend nem SDK de nuvem proprietário.
- Arquitetura
- Protocolo e evidências BLE
- Privacidade
- Backup local e compartilhamento
- Diagnóstico BLE
- Testes
- Distribuição e releases
O formato C0 foi validado apenas com a balança Yoda1 observada. O app não infere composição corporal, unidade ou estabilidade sem evidência física. Antes de mudar o parser ou os limites, siga a validação física BLE.
O Health Connect exige API 26, mas as demais funções permanecem disponíveis em API 24–25. Testes de balança, compartilhamento, notificações, Health Connect e TalkBack dependem de telefone físico.
Contribuições são bem-vindas, especialmente testes de compatibilidade e capturas BLE com consentimento e dados minimizados.
Distribuído sob a Apache License 2.0. Ao contribuir, você concorda que sua contribuição poderá ser distribuída sob essa mesma licença.