conversor_de_moedas/INSTRUCOES_USO.md

207 lines
5.3 KiB
Markdown

# 📱 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**