114 lines
3.4 KiB
Markdown
114 lines
3.4 KiB
Markdown
# Conversor de Moedas - Android SQLite
|
|
|
|
Um aplicativo Android completo para conversão de moedas usando SQLite como banco de dados local.
|
|
|
|
## Funcionalidades
|
|
|
|
- **Conversão de Moedas**: Converte valores entre diferentes moedas usando taxas de câmbio pré-definidas
|
|
- **Banco de Dados SQLite**: Armazena moedas e histórico de conversões localmente
|
|
- **Histórico de Conversões**: Visualiza e gerencia o histórico de conversões realizadas
|
|
- **Taxa de Câmbio**: Mostra a taxa de câmbio atual entre as moedas selecionadas
|
|
- **Interface Intuitiva**: Design moderno com Material Design
|
|
|
|
## Moedas Suportadas
|
|
|
|
- USD - Dólar Americano ($)
|
|
- BRL - Real Brasileiro (R$)
|
|
- EUR - Euro (€)
|
|
- GBP - Libra Esterlina (£)
|
|
- JPY - Iene Japonês (¥)
|
|
- CAD - Dólar Canadense (C$)
|
|
- AUD - Dólar Australiano (A$)
|
|
- CHF - Franco Suíço (CHF)
|
|
- CNY - Yuan Chinês (¥)
|
|
- MXN - Peso Mexicano ($)
|
|
|
|
## Estrutura do Projeto
|
|
|
|
### Classes Principais
|
|
|
|
1. **DatabaseHelper**: Gerencia o banco de dados SQLite
|
|
- Criação e atualização das tabelas
|
|
- Operações CRUD para moedas e conversões
|
|
- Inserção de dados padrão
|
|
|
|
2. **CurrencyConverter**: Lógica de conversão de moedas
|
|
- Conversão entre moedas
|
|
- Cálculo de taxas de câmbio
|
|
- Formatação de valores monetários
|
|
|
|
3. **Currency**: Modelo de dados para moedas
|
|
- Código, nome, símbolo e taxa de câmbio
|
|
|
|
4. **Conversion**: Modelo de dados para conversões
|
|
- Moedas de origem e destino, valores e data
|
|
|
|
5. **ConversionHistoryAdapter**: Adapter para ListView do histórico
|
|
|
|
### Banco de Dados
|
|
|
|
#### Tabela `currencies`
|
|
- `id`: Chave primária
|
|
- `code`: Código da moeda (ex: USD, BRL)
|
|
- `name`: Nome da moeda
|
|
- `symbol`: Símbolo da moeda
|
|
- `rate_to_usd`: Taxa de câmbio em relação ao USD
|
|
|
|
#### Tabela `conversions`
|
|
- `id`: Chave primária
|
|
- `from_currency`: Moeda de origem
|
|
- `to_currency`: Moeda de destino
|
|
- `amount`: Valor convertido
|
|
- `result`: Resultado da conversão
|
|
- `date`: Data/hora da conversão
|
|
|
|
## Como Usar
|
|
|
|
1. **Digite o valor** a ser convertido no campo "Valor"
|
|
2. **Selecione a moeda de origem** no spinner "De"
|
|
3. **Selecione a moeda de destino** no spinner "Para"
|
|
4. **Clique em "Converter"** para realizar a conversão
|
|
5. **Visualize o resultado** na área de resultado
|
|
6. **Consulte o histórico** de conversões na lista abaixo
|
|
7. **Limpe o histórico** usando o botão "Limpar" se necessário
|
|
|
|
## Tecnologias Utilizadas
|
|
|
|
- **Android SDK**: Desenvolvimento nativo Android
|
|
- **SQLite**: Banco de dados local
|
|
- **Material Design**: Interface moderna
|
|
- **Java**: Linguagem de programação
|
|
- **ConstraintLayout**: Layout responsivo
|
|
- **CardView**: Componentes visuais
|
|
|
|
## Instalação
|
|
|
|
1. Clone o repositório
|
|
2. Abra o projeto no Android Studio
|
|
3. Sincronize as dependências do Gradle
|
|
4. Execute o aplicativo em um dispositivo ou emulador
|
|
|
|
## Requisitos
|
|
|
|
- Android API 24+ (Android 7.0)
|
|
- Android Studio
|
|
- Java 11+
|
|
|
|
## Funcionalidades Técnicas
|
|
|
|
- **Persistência Local**: Dados armazenados no SQLite
|
|
- **Validação de Entrada**: Verificação de valores válidos
|
|
- **Tratamento de Erros**: Mensagens de erro amigáveis
|
|
- **Interface Responsiva**: Adaptável a diferentes tamanhos de tela
|
|
- **Performance**: Operações otimizadas de banco de dados
|
|
|
|
## 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
|
|
|