Este é um aplicativo .NET MAUI que permite tirar fotos usando a câmera do dispositivo ou selecionar imagens da galeria.
- ✅ Tirar fotos usando a câmera
- ✅ Selecionar fotos da galeria
- ✅ Visualizar a foto selecionada/capturada
- ✅ Limpar a foto atual
- ✅ Interface responsiva e intuitiva
O projeto segue as melhores práticas do .NET MAUI:
├── Views/ # Páginas XAML
├── ViewModels/ # ViewModels com MVVM
├── Services/ # Serviços da aplicação
├── Models/ # Modelos de dados
├── Converters/ # Conversores para XAML
└── Platforms/ # Código específico por plataforma
├── Android/
└── iOS/
- MVVM com CommunityToolkit.Mvvm
- Dependency Injection nativo do .NET
- Data Binding para interface reativa
- Command Pattern para ações de UI
- .NET 9
- .NET MAUI
- CommunityToolkit.Mvvm
- CommunityToolkit.Maui
- Android (API 21+)
- iOS (15.0+)
- Visual Studio 2022 ou .NET CLI
- Workload do .NET MAUI instalado
dotnet build -t:Run -f net9.0-androiddotnet build -t:Run -f net9.0-iosandroid.permission.CAMERA- Para acessar a câmeraandroid.permission.READ_EXTERNAL_STORAGE- Para ler da galeriaandroid.permission.WRITE_EXTERNAL_STORAGE- Para salvar imagens
NSCameraUsageDescription- Para acessar a câmeraNSPhotoLibraryUsageDescription- Para acessar a galeria
- Tirar Foto: Toque no botão "Tirar Foto" para abrir a câmera
- Galeria: Toque no botão "Galeria" para selecionar uma foto existente
- Visualizar: A foto será exibida na tela após captura/seleção
- Limpar: Use o botão "Limpar Foto" para remover a imagem atual
Serviço responsável por:
- Capturar fotos da câmera
- Selecionar fotos da galeria
- Gerenciar permissões
- Tratamento de erros
ViewModel que gerencia:
- Estado da foto atual
- Comandos para ações da UI
- Binding com a interface
Interface XAML com:
- Botões para ações
- Área de visualização da foto
- Layout responsivo
- Suporte para vídeos
- Filtros de imagem
- Compartilhamento de fotos
- Armazenamento em nuvem
- Geolocalização das fotos
Este projeto segue as melhores práticas de desenvolvimento .NET MAUI. Para contribuir:
- Mantenha o padrão MVVM
- Use injeção de dependência
- Implemente tratamento de erros
- Teste em múltiplas plataformas
- Documente mudanças no código