Modelo de app Monitor de bateria
Nível da bateria, estado de carregamento e um gráfico de histórico ao vivo.
Este é o modelo rodando ao vivo. Recursos do celular, como câmera, vibração e notificações, funcionam no app que você criar.
Recursos do celular que este modelo usa
Eles vêm da ponte JavaScript do FreeApp, que todo app criado com o Free HTML to APK inclui. Em um navegador comum, o modelo continua funcionando e as chamadas simplesmente não fazem nada.
Notificação local instantânea (pede permissão no Android 13+).
Toast nativo curto.
Uma vibração única (padrão 50 ms) ou um padrão [desligado, ligado, desligado, ligado…].
Como o modelo os chama
function poll() {
if (!(window.FreeApp && FreeApp.battery)) return;
const b = FreeApp.battery(); // {level, charging}
render(b.level, b.charging);
if (b.level <= 15 && !b.charging) FreeApp.notify('Battery low', b.level + '% left');
}
setInterval(poll, 30000);
Deixe com a sua cara usando IA
Copie este prompt no ChatGPT, Gemini ou Claude, troque a ideia pela sua e cole a resposta de volta no editor. Ele já explica para a IA a estrutura do app e os recursos do celular.
Mostrar o prompt para a IA
Build a single-file mobile web app (index.html with inline CSS/JS) for Android WebView.
The app: Battery Monitor — a battery monitor with level, charging state and a live history chart. Battery level, charging state and a live history chart.
Requirements:
- Mobile-first, touch-friendly UI (min 44px tap targets), works in portrait, supports light and dark mode.
- Use <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> and pad for env(safe-area-inset-*).
- Must work fully offline: no CDN or external scripts, fonts or images; persist data in localStorage.
The page runs inside an Android app that injects a native bridge as window.FreeApp. Available APIs:
- FreeApp.battery(): {level: number /* 0-100 */, charging: boolean}
- FreeApp.notify(title: string, body?: string): void — instant local notification (asks permission on Android 13+)
- FreeApp.requestPermission(name: 'camera' | 'microphone' | 'location' | 'notifications'): Promise<boolean>
- FreeApp.toast(message: string): void — short native toast
- FreeApp.vibrate(ms?: number | number[]): void — one-shot buzz (default 50 ms) or an [off, on, off, on…] pattern
Rules for the bridge:
- Always guard calls with `window.FreeApp &&` (or `if (window.FreeApp) { … }`) and provide a browser fallback so the page also works in a normal browser.
- The bridge may be injected after your script runs: do native setup inside `window.addEventListener('freeappready', …)` and also run it immediately if window.FreeApp already exists.
- Do not use alert/confirm for normal feedback; prefer FreeApp.toast when available.
Return the complete index.html in one code block.
My idea: [DESCRIBE YOUR APP IDEA HERE]Transforme em um app Android
- Toque em Editar e compilar online. O modelo abre no editor online.
- Mude o texto, as cores e o código e depois escolha um nome de app, um ícone e um nome do pacote.
- Compile. Você recebe um APK assinado para instalar e um AAB para o Google Play, grátis, sem conta e sem marca d'água.
Mais modelos de Dispositivo
Lanterna
Lanterna com um grande botão de ligar, com modos estroboscópio e SOS.
Laboratório de vibração
Toque e crie padrões de vibração personalizados.
Rastreador de localização
Coordenadas GPS, precisão e um rastreador de distância percorrida a pé.
Info do dispositivo
Modelo do celular, tela, sistema, memória e detalhes do app.
Status da rede
Estado online/offline, tipo de conexão e registro de mudanças.
Leitor de QR e código de barras
Leitor nativo em tela cheia com lanterna, filtros de formato, copiar/abrir/compartilhar e histórico de leituras.