# 📱 Conversor de Moedas - Instruções de Uso ## 🚀 Como Executar o Aplicativo ### Pré-requisitos - Android Studio instalado - Android SDK configurado - Dispositivo Android ou emulador ### Passos para Executar 1. **Abrir o Projeto** ```bash # Navegar para o diretório do projeto cd /Users/240408/AndroidStudioProjects/conversordemoedas2 # Abrir no Android Studio open -a "Android Studio" . ``` 2. **Sincronizar Dependências** - O Android Studio irá sincronizar automaticamente - Ou execute: `./gradlew build` 3. **Executar o App** - Conecte um dispositivo Android ou inicie um emulador - Clique em "Run" (▶️) no Android Studio - Ou execute: `./gradlew installDebug` ## 💱 Como Usar o Conversor ### Interface Principal 1. **Campo de Valor** - Digite o valor que deseja converter - Aceita números decimais (ex: 100.50) - Valores devem ser positivos 2. **Seleção de Moedas** - **De**: Moeda de origem (padrão: USD) - **Para**: Moeda de destino (padrão: BRL) - Use os spinners para selecionar 3. **Conversão** - Clique no botão "Converter" - O resultado aparecerá abaixo do botão - Formato: símbolo + valor (ex: R$ 520.00) 4. **Taxa de Câmbio** - Mostra a taxa atual entre as moedas selecionadas - Atualiza automaticamente ao mudar as moedas 5. **Histórico** - Lista as últimas 50 conversões realizadas - Mostra: valor original, resultado e data/hora - Botão "Limpar" para apagar o histórico ## 🗄️ Banco de Dados SQLite ### Estrutura das Tabelas #### Tabela `currencies` ```sql CREATE TABLE currencies ( id INTEGER PRIMARY KEY AUTOINCREMENT, code TEXT UNIQUE NOT NULL, -- Código da moeda (USD, BRL, etc.) name TEXT NOT NULL, -- Nome completo symbol TEXT NOT NULL, -- Símbolo ($, R$, €, etc.) rate_to_usd REAL NOT NULL -- Taxa em relação ao USD ); ``` #### Tabela `conversions` ```sql CREATE TABLE conversions ( id INTEGER PRIMARY KEY AUTOINCREMENT, from_currency TEXT NOT NULL, -- Moeda de origem to_currency TEXT NOT NULL, -- Moeda de destino amount REAL NOT NULL, -- Valor convertido result REAL NOT NULL, -- Resultado date TEXT NOT NULL -- Timestamp da conversão ); ``` ### Moedas Pré-cadastradas | Código | Nome | Símbolo | Taxa USD | |--------|------|---------|----------| | USD | Dólar Americano | $ | 1.0 | | BRL | Real Brasileiro | R$ | 5.2 | | EUR | Euro | € | 0.85 | | GBP | Libra Esterlina | £ | 0.73 | | JPY | Iene Japonês | ¥ | 110.0 | | CAD | Dólar Canadense | C$ | 1.25 | | AUD | Dólar Australiano | A$ | 1.35 | | CHF | Franco Suíço | CHF | 0.92 | | CNY | Yuan Chinês | ¥ | 6.45 | | MXN | Peso Mexicano | $ | 20.0 | ## 🔧 Funcionalidades Técnicas ### Conversão de Moedas - **Algoritmo**: Conversão via USD como moeda intermediária - **Fórmula**: `resultado = (valor / taxa_origem) * taxa_destino` - **Precisão**: Dupla precisão para cálculos ### Persistência - **SQLite**: Banco local no dispositivo - **Criação**: Automática na primeira execução - **Dados**: Inserção automática das moedas padrão ### Interface - **Material Design**: Componentes modernos - **Responsiva**: Adaptável a diferentes telas - **Validação**: Entrada de dados segura ## 🧪 Testando o Aplicativo ### Testes Manuais 1. **Conversão Básica** - Valor: 100 - De: USD - Para: BRL - Resultado esperado: R$ 520.00 2. **Conversão Decimal** - Valor: 99.99 - De: EUR - Para: JPY - Verificar precisão do cálculo 3. **Mesma Moeda** - Valor: 50 - De: USD - Para: USD - Resultado: $ 50.00 4. **Histórico** - Realizar várias conversões - Verificar se aparecem no histórico - Testar botão "Limpar" ### Testes Automatizados Para executar os testes de demonstração: ```java // Na MainActivity, descomente esta linha: CurrencyConverterDemo.runDemo(this); ``` Isso executará testes automáticos e mostrará os resultados no log. ## 🐛 Solução de Problemas ### Problemas Comuns 1. **App não compila** - Verificar se todas as dependências estão instaladas - Executar `./gradlew clean` e `./gradlew build` 2. **Conversão não funciona** - Verificar se o valor é positivo - Confirmar se as moedas estão selecionadas 3. **Histórico vazio** - Normal na primeira execução - Realizar algumas conversões primeiro 4. **Taxa de câmbio incorreta** - As taxas são fixas e podem não refletir valores reais - Para valores reais, integrar com API de câmbio ### Logs de Debug Para ver logs detalhados: ```bash adb logcat | grep CurrencyConverter ``` ## 📈 Melhorias Futuras - [ ] Integração com API de câmbio em tempo real - [ ] Gráficos de histórico de conversões - [ ] Notificações de mudanças de taxa - [ ] Suporte a mais moedas - [ ] Modo offline/online - [ ] Backup e sincronização de dados - [ ] Temas claro/escuro - [ ] Calculadora de taxas - [ ] Favoritos de conversões - [ ] Exportar histórico ## 📞 Suporte Para dúvidas ou problemas: 1. Verificar os logs do Android 2. Testar com valores simples primeiro 3. Verificar se o banco de dados foi criado corretamente 4. Consultar a documentação do código --- **Desenvolvido com ❤️ usando Android SDK, SQLite e Material Design**