⚙️ Funcionalidades e Dependências
Este projeto é um aplicativo acessível para dispositivos móveis que utiliza tecnologias de visão computacional para ajudar pessoas com deficiência visual a interpretar e entender imagens. O aplicativo permite que o usuário tire uma foto ou selecione uma imagem da galeria, e então fornece uma descrição detalhada do conteúdo visual.
- Captura e seleção de imagem: O usuário pode tirar uma foto usando a câmera do dispositivo ou selecionar uma imagem salva na galeria.
- Descrição de imagens: O aplicativo utiliza uma API de visão computacional para gerar uma descrição detalhada do que está na imagem, incluindo informações como objetos, pessoas, cores e contextos.
- Leitura em voz alta: A descrição gerada é lida em voz alta para o usuário através de um recurso de síntese de voz.
- Interface de usuário acessível: Interface otimizada para navegação assistida por leitor de tela, com botões e elementos de fácil acesso e grande contraste.
- Abrir o Aplicativo: O usuário abre o aplicativo em seu dispositivo móvel.
- Selecionar Imagem: Escolha entre tirar uma nova foto ou selecionar uma imagem da galeria.
- Gerar Descrição: Toque no botão "Descrever Imagem" para enviar a imagem para o processamento.
- Ouvir Descrição: O aplicativo irá ler em voz alta a descrição da imagem, ajudando o usuário a entender o conteúdo visual.
- Android 5.0+.
- Conexão com a internet
Nota: Este aplicativo tem como objetivo auxiliar pessoas com deficiência visual e deve ser utilizado em conjunto com outros recursos de acessibilidade oferecidos pelo sistema operacional do dispositivo.
🚀 Configuração de Ambiente para Aplicação Mobile com Flutter
Este guia explica como configurar o ambiente de desenvolvimento para criar uma aplicação mobile usando Flutter em Linux e Windows.
-
🖥️ Sistema Operacional:
Windows, macOS ou Linux. -
💾 Espaço em Disco:
Aproximadamente 1.64 GB para o SDK do Flutter. -
🔧 Ferramentas Necessárias:
-
Versão Mínima do Android:
- Android 11 (API 30) ou superior.
-
Ferramentas Necessárias:
- Abra o Android Studio e vá para:
Settings > Appearance & Behavior > System Settings > Android SDK
Certifique-se de que o SDK do Android 11+ está instalado.
- Abra o Android Studio e vá para:
-
Emulador ou Dispositivo Físico:
- Configure um Emulador com Android 11+.
- Caso utilize um dispositivo físico:
- Ative o modo Depuração USB.
- Libere a opção Instalar via USB (se disponível).
- Java 11+
- Verifique se o Java 11 está instalado:
Exemplo de saída:
java -version
java version "11.0.x" - Caso não esteja instalado, baixe e instale o OpenJDK 11.
- Verifique se o Java 11 está instalado:
-
Baixar o Flutter SDK
wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.13.0-stable.tar.xz
-
Extrair o SDK
tar xf flutter_linux_3.13.0-stable.tar.xz -C $HOME -
Adicionar ao PATH
Edite o arquivo.bashrcou.zshrc:export PATH="$PATH:$HOME/flutter/bin"
Atualize o terminal:
source ~/.bashrc
-
Verificar a Instalação
flutter doctor
-
Baixar o Flutter SDK
Baixe o SDK Flutter para Windows. -
Extrair o SDK
Extraia o conteúdo do.zipparaC:\src\flutter. -
Adicionar ao PATH
- Abra Editar Variáveis de Ambiente do Sistema no menu Iniciar.
- Adicione
C:\src\flutter\binà variável PATH.
-
Verificar a Instalação
No Prompt de Comando ou PowerShell, execute:flutter doctor
-
Baixar e Instalar o Android Studio
Baixe em: Android Studio. -
Configurar o SDK do Android
- No Android Studio, vá para:
Preferências > Aparência e Comportamento > Configurações do Sistema > Android SDK
Instale as SDKs recomendadas.
- No Android Studio, vá para:
-
Criar um Emulador (opcional)
- Use o AVD Manager no Android Studio para criar um dispositivo virtual.
-
Aceitar Licenças do Android
Execute no terminal:flutter doctor --android-licenses
Após seguir todos os passos, execute o comando abaixo para confirmar que o ambiente está configurado corretamente:
flutter doctorCertifique-se de que todas as dependências estão marcadas como [✓].
📝 Nota: Para mais informações, consulte a documentação oficial do Flutter.
🌐 API Google Cloud
Para garantir a segurança da chave da API utilizada neste projeto, a chave é armazenada em um arquivo local chamado secrets.dart. Este arquivo não está incluído no repositório e deve ser gerado manualmente seguindo as instruções abaixo.
- Acesse o console do Google Cloud: Google Cloud Console - APIs & Credentials.
- Selecione ou crie um projeto no Google Cloud.
- Na seção Credenciais, clique em Criar credenciais e escolha Chave de API.
- Copie a chave gerada e guarde-a temporariamente.
-
No diretório
lib/do projeto Flutter, crie um arquivo chamadosecrets.dart. -
Adicione o seguinte conteúdo ao arquivo, substituindo
SUA_API_KEY_AQUIpela chave gerada no passo anterior:const String apiKey = "SUA_API_KEY_AQUI";
-
Garanta que a api do Gemini API está habilitada no teu projeto do Google Cloud.
Gerar e Distribuir o APK do Projeto
Siga os passos abaixo para gerar a versão de release (distribuição) do APK do aplicativo.
- Certifique-se de ter o Flutter instalado e configurado corretamente na máquina.
- Verifique se o ambiente Android está configurado com o SDK, NDK e JDK compatíveis.
- Confirme que você possui os seguintes arquivos:
key.propertiesphoto_reader_ai_release.jks
- Copie os arquivos necessários:
- Copie o arquivo
key.propertiesda pasta raiz do projeto para o caminho:android/key.properties
- Copie o arquivo
photo_reader_ai_release.jksda pasta raiz do projeto para o caminho:android/app/photo_reader_ai_release.jks
- Copie o arquivo
Para rodar o projeto diretamente em um dispositivo físico ou emulador, use o seguinte comando:
flutter run- Certifique-se de que o dispositivo físico está conectado e com a depuração USB ativada, ou que o emulador Android está em execução.
- O APK gerado no modo release é otimizado para distribuição e não inclui ferramentas de depuração.
- Antes de distribuir o APK, teste-o em diferentes dispositivos para garantir a compatibilidade.