O protótipo de aplicativo de compras que lista uma série de produtos com imagem, descrição, preço e permite adicioná-los ao carrinho. Graças ao reconhecimento de objetos é possível pesquisar por produtos apenas apontando a câmera do Android e o que for identificado vai ser buscado na base de dados do App.
aifound-app-demo.mp4
- Ao abrir a busca de produtos, a câmera passa os frames para análise do detector em tempo real, permitindo a análise por parte do modelo.
- Cada frame é analisado em busca de informações através do modelo em uso (padrão ou customizado com TensorFlow Lite)
- Quando um produto é identificado pelo modelo, uma sobreposição é exibida no preview da câmera nas exatas coordenadas do objeto em questão.
- O produto detectado é buscado na base dados e exibido em tela automaticamente, permitindo sua adição ao carrinho de compras
- Lista inicial: produtos disponíveis para compra
- Detalhes: informações como preço e descrição além da possibilidade de adição ao carrinho.
- Carrinho: lista de todos produtos adicionados via tela de detalhes ou detecção da câmera.
As técnicas e tecnologias utilizadas pra isso são:
Jetpack Compose
: kit de ferramentas moderno para criar IUs em dispositivos móveisKotlin
: linguagem de programaçãoGradle Version Catalogs
: nova forma de gerenciar plugins e dependências em projetos AndroidMaterial Design 3
: padrão de design recomendado pela google para criação de UI modernasHilt
: injeção de dependênciasNavigating with Compose
: navegação entre composables e telasViewmodel, states e flow
: gerenciamento de estados da e controle dos eventos disparados pelas detecções do modelo da GoogleML Kit Object Detection
: biblioteca para detectar e extrair informações sobre objetos em tempo real usando a câmera do dispositivoTensorFlow Lite Models
: conjunto de modelos pré-treinados e otimizados para executar em dispositivos móveis de forma eficiente.Teachable Machine
: Plataforma que permite treinar modelos de aprendizado de máquina com facilidade, sem a necessidade de escrever código. Permite aos usuários criar modelos personalizados para reconhecimento de objetos, classificação de imagens e muito mais, com uma interface intuitiva e amigável.CameraX
: biblioteca do Jetpack que facilita a integração de funcionalidades de câmera em aplicativos Android, abstraindo a complexidade da API de câmera do Android e oferecendo uma interface simples para captura de fotos e vídeoCameraAnalyzer
: componente utilizado junto ao CameraX para analisar frames de vídeo em tempo real, permitindo a implementação de funcionalidades de detecção que requeiram processamento frame a frame.
- Versão inicial: Veja o código fonte ou baixe o projeto
- Versão final: Veja o código fonte ou baixe o projeto
Após baixar o projeto, você pode abri-lo com o Android Studio. Para isso, na tela de launcher clique em:
“Open” (ou alguma opção similar), procure o local onde o projeto está e o selecione (caso o projeto seja baixado via zip, é necessário extraí-lo antes de procurá-lo). Por fim, clique em “OK” o Android Studio deve executar algumas tasks do Gradle para configurar o projeto, aguarde até finalizar. Ao finalizar as tasks, você pode executar o App 🏆
Gostou do projeto e quer conhecer mais? Você pode acessar o curso que desenvolve o projeto desde o começo!