207 lines
5.3 KiB
Markdown
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**
|
|
|