# 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