Autores:Ricardo Roberto Leme, Ian Ferreira Costa,
Lucas Mandotti M. Soares e Luciana Aparecida M. Zaina
Este artigo apresenta os passos necessários para utilizarmos os recursos de interface multimodal presentes na maioria dos smartphones, como, por exemplo, o reconhecimento de movimentos e de voz, através do desenvolvimento de um aplicativo com o uso da plataforma disponibilizada pelo Google, o Android SDK. A disponibilização de diversas formas de interação permite uma melhor adaptação do usuário ao aplicativo. Assim, este recurso também deve ser considerado quando visamos aprimorar a acessibilidade da solução em construção. Um aplicativo com diferentes formas de interação pode viabilizar o uso por pessoas com diferentes tipos de deficiências.
A interação multimodal é a combinação de múltiplos sensores de entrada e/ou saída de informações que possibilitam a interação do usuário com o software, viabilizando a escolha da modalidade que deseja (voz, gestos, toque, etc.) e ainda alternar entre elas.
Assim, podemos dizer que um sistema possui recursos multimodais quando permite ao usuário usufruir de suas funções interagindo de formas diferentes com o aparelho. Atualmente a maior parte dos aplicativos para smartphones utiliza somente um meio de interação com o usuário, o touch. Esta tende a prender a atenção do usuário no aparelho, o impossibilitando de realizar outras ações enquanto interage com a aplicação. Logo, o uso de outras formas de interação em um mesmo programa possibilita uma maior liberdade ao usuário, pois este pode escolher aquela que o beneficia em um determinado momento, como por exemplo, utilizar a voz quando estiver com as mãos ocupadas.
O Android possui várias classes para implementar recursos multimodais, que permitem, por exemplo, a leitura dos dados fornecidos pelos sensores existentes no aparelho e também a manipulação das funções de áudio. A partir dessas classes o desenvolvedor pode facilmente alcançar o objetivo de criar aplicativos mais adaptáveis às necessidades do usuário final.
A classe para manipulação de sensores disponibilizada para desenvolvimento de programas em Android é a SensorManager e a utilizaremos para detectar e diferenciar os movimentos realizados com o aparelho. Em nosso exemplo, somente será necessário reconhecer quatro movimentos bem definidos. Sendo assim, optaremos pelo acelerômetro, que possui uma leitura mais simples e precisa, quando comparado com o giroscópio, detectando a movimentação do aparelho em torno de três eixos. Para leitura dos dados de um sensor geralmente adota-se a classe SensorManager, que fornece dois métodos abstratos que devem ser implementados: onSensorChanged() e onAccuracyChanged(). Estes métodos serão utilizados para captura dos dados do sensor e serão explicados no decorrer do artigo.
O aplicativo empregará também a classe MediaPlayer, para a manipulação dos arquivos de áudio que serão executados conforme a movimentação do aparelho. Você notará que a emissão de sons como forma de resposta às ações do usuário é somente um exemplo de função que pode ser executada. A detecção de movimentos pode ser usada de forma muito ampla dentro de qualquer aplicativo.
O maior desafio na utilização de uma interface multimodal com detecção de movimentos é configurá-la a fim de que o usuário possa se adaptar a todos os movimentos necessários para usufruir das funções do aplicativo. Assim, eles devem ser simples e facilmente diferenciados, para que não ocorra nenhum erro no reconhecimento da função a ser acionada.
Na aplicação exemplo, o usuário poderá optar por um dos dois tipos de sons disponíveis através de um comando de voz, e então, quando realizar um movimento de rotação do aparelho para a direita, esquerda, frente ou para traz, um novo som será reproduzido.
Configurando o Android SDK
O primeiro passo para iniciar o desenvolvimento de uma aplicação Android é fazer o download do pacote para desenvolvedores no site oficial (ver seção Links). Anteriormente não era disponibilizado o pacote de desenvolvimento completo, sendo necessário baixar o Android SDK, instalar um plug-in na IDE escolhida e então configurá-la para reconhecê-lo. Atualmente o Google disponibiliza o Eclipse em uma versão plug-and-play já configurada para uso. Assim, após a descompactação do arquivo (que deverá estar no formato ZIP), basta abrir o Eclipse localizado na pasta com este nome.
O Eclipse é a plataforma de desenvolvimento recomendada pelo Google para o desenvolvimento de aplicações Android e recebe o suporte às atualizações assim que elas são disponibilizadas. Mesmo assim, você pode utilizar outras IDEs, como o ...
Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.