MINI-CURSO: MIT APP INVENTOR

Prof. Rafael V. Aroca
Departamento de Computação
Universidade Federal de São Carlos
Email: aroca@ufscar.br ou rafaelaroca@ieee.org

Filosofia do mini-curso e Material

O App Inventor é uma ferramenta para programação de dispositivos móveis Android de forma rápida e intuitiva. A proposta deste mini-curso é de demonstrar seu uso de forma prática e por exemplos. Faça as atividades a baixo, passo a passo, sem medo de errar. Se você tiver facilidade, ajude um colega que esteja com alguma dificuldade. Chame o instrutor a qualquer momento em caso de dúvidas.

Parte do mini-curso é baseado no livro disponível on-line gratuitamente:

http://www.appinventor.org/book2

Iniciando

O App Inventor foi criado pela equipe do Google para que qualquer pessoa possa criar aplicativos para tablets, smartphones e dispositivos Android, mesmo sem conhecimentos de progrmação! Em 2012 o projeto foi transferido para o MIT, uma das melhores Universidades do mundo, que hoje mantem e atualiza constantemente o sistema.

Para usar o App Inventor, é necessário possuir uma conta de email do GMAIL. Se você ainda não possui uma do GMAIL, por favor crie uma antes de iniciarmos as atividades.

Se você já possui uma conta do GMAIL, basta acessar o App Inventor clicando neste link: http://ai2.appinventor.mit.edu.

Teste e uso dos aplicativos

No App Inventor, é possível ver seu aplicativo funcionando em "tempo real", enquanto o aplicativo é criado. Existem três formas de testar o aplicativo que você está desenvolvendo, todos acessíveis atraves do menu "Connect". Crie um novo projeto e escolha a conexão mais adequada para seu caso.

Para que os testes possam ser feitos, instale o aplicativo AI2 Companion em seu celular/tablet. O aplicativo está disponível no Google Play Store.

Importante: Para fazer a conexão via Wifi, não é necessário instalar nenhum software adicional, mas tanto o dispositivo em teste quanto o computador de desenvolvimento devem estar conectados no mesmo roteador, ou seja, na mesma rede Wifi.

(*) Nota: Para uso via USB ou com emulador, é preciso instalar o software ai2starter. O download pode ser feito a partir dos links de instruções acima.

Quando a aplicativo estiver pronto, você pode gerar um APK (Android Package), e envia-lo por email, gerar um QR-Code, coloca-lo em uma página web, ou mesmo colocar na Play Store! (Menu "Build")


Parte 0: Primeiros passos


Comece pelo material do mini-curso:

slides_nov2020.pdf


Video do mini-curso no youtube:

https://youtu.be/4m1GOQKuBok

Discord (ambiente para chat e dúvidas):

https://discord.gg/2XKYr7VxYe



Parte I: Atividades sugeridas para aprender mais


Atividade I.1: Fazendo o gato miar

Siga o roteiro do capítulo 1 do livro, e faça um programa que faz o celular vibrar e emitir um som de miado quando um botão for apertado na tela do aplicativo. Coloque também a foto de um gato na tela. Também faça o gato miar quando o celular for movimentado. Pegue aqui o arquivo MP3 do gato miando!

Atividade I.2: Relógio com tique-taque

Faça um programa que mostra a hora, minuto e segundo na tela do celular. Adicione a funcionalidade de emitir um som do tipo "tic-tac" a cada minuto passado. Dica: use o componente timer e execute o som toda vez que os segundos forem "00".

Atividade I.3: Conversor de unidades

Escolha uma unidade e faça um programa que leia um valor da tela (TextArea) e mostre o valor convertido na tela (Label). Exemplo: conversão de metros para polegadas, ou de reais para dólares, dentre outras.

Atividade I.4: MoleMash - Mais um jogo (do livro)

Siga o roteiro do capítulo 3 do livro, e implemente um jogo de "bater em um objeto", onde um objeto se move aleatoriamente na tela e a cada toque neste objeto, pontos são somados para o jogador. Adicionalmente, ao bater no objeto, o celular deve vibrar.

Atividade I.5: Jogo da conta falada!

Implemente um aplicativo que sorteia dois números e pergunta por síntese de voz: "Quanto é A + B?", sendo A e B os valores sorteados. Em seguida o aplicativo deve esperar que o usuário responda verbalmente a pergunta e o programa deve dizer "Você acertou" ou "Você errou", conforme o resultado da operação de soma.

Atividade I.6: No text while driving!

Siga o roteiro do capítulo 4 do livro, e faça um programa que responde automaticamente mensagens SMS recebidas. Em seguida, adicione uma funcionalidade para que o aplicativo leia em "viva voz" a mensagem recebida. Para finalizar, faça com que o aplicativo envie para o remetente seu endereço.

Atividade I.7: Placar: Banco de dados via Web

Desenvolva um aplicativo que mostra o placar de um jogo em diversos aparelhos ao mesmo tempo. O placar deve ser armazenado "em nuvem" usando o componente TinyWebDB. Ao mudar o placar no servidor, todos celulares devem ter seus placares atualizados automaticamente. Dica: use o Clock e o TinyWebDB, e o capítulo 22 do livro, explica o uso do TinyWebDB. Os dados devem ser armazenados no servidor: http://appinvtinywebdb.appspot.com/

Atividade I.8: Votação on-line

Faça um programa que mostra na tela a foto de 5 candidatos, e ao lado de cada um um botão para votar nele. Combine com os colegas e use os mesmos tags em vários aparelhos e aplicativos, de forma que a votação seja sincronizada em todos aparelhos. Ao clicar em cada candidato, um componente TinyWebDB deve ler a quantia de votos atual daquele candidato e somar 1, e em seguida atualizar em todos aparelhos. Discuta os aspectos de sincronia dos dados deste sistema.

Atividade I.9: Dedo duro mutuo!

Desenvolva um aplicativo que envia sua localização para um amigo, que deve usar o mesmo aplicativo que você e mostra a localização do seu amigo para você. Ou seja, ambos usuários devem poder ver o endereço atual do outro amigo. Dica: use o componente TinyWebDB para armazenar e compartilhar dados via Web. Gere um APK, instale nos dois celulares, e de uma volta para ver o sistema em funcionamento. Ambos aparelhos devem possuir conexão com a Internet para este teste. Ao terminar e testar, adicione a funcionalidade para que cada um possa deixar uma mensagem sobre seu status para o colega.


Parte II: Intermediário


Atividade II.1: Internet das coisas

Faça um aplicativo que conecta a um sensor via Internet, e mostra sua leitura na tela do celular, com atualização automática a cada 5 segundos. Faça também a cor do texto mudar de acordo com a leitura do sensor. Em seguida, inclua um botão que liga/desligar luzes via Internet através de um rele acionado pelo acesso a uma URL a ser informado pelo instrutor. Dica: use os componentes Clock e Web, além dos Labels e Buttons. Para os testes, conecte na rede LinkIt Smart Duo e use a URL indicada. O Linkit pode ser comprado no SeeedStudio, mas uma Raspberry PI ou um Arduino funcionam da mesma forma.

Atividade II.2: Bússola

Transforme seu aparelho em uma bússola usando o componente OrientationSensor, um Canvas e um ImageSprite. Uma dica de uso pode ser encontrada no site do PuraVida Apps - http://puravidaapps.com/snippets.php#2compass.

Atividade II.3: O porco saiu do chiqueirinho?

Faça um programa que monitora a posição do seu celular, ou de uma outra pessoa, e emite um alarme se o aparelho sair de uma cerca virtual pré-determinada. O alarme pode ser sonoro, envio de mensagem ou ligação para um numero conhecido!

Atividade II.4: LEGO Mindstorms

Siga o roteiro do capítulo 12 do livro, e faça um controle remoto para um robô baseado em Lego Mindstorms.


Parte III: Avançado


Atividade III.1: Codigo de barras

Siga o roteiro do capítulo 13 do livro, e faça um programa que faz o a leitura do código de barras de um produto (livro, neste caso), e pesquisa seu custo na Internet (usando o site da Amazon, como exemplo).

Atividade III.2: Mapa

Implemente um aplicativo que mostra a sua localiza¸ão em um mapa. Dica: use o componete WebViewer e carregue a URL do Google Maps com sua latitude e longitude.

Atividade III.3: Chat via Internet

Construa um aplicativo do tipo "chat" para conversar com colegas via texto.

Atividade III.4: WhatsApp

Faça um aplicativo que lista seus contatos e manda um "Feliz Natal" para cada um deles via WhatsApp e/ou via SMS! Veja dicas no site http://puravidaapps.com/.

Parte IV: Sobrou tempo?


Atividade IV.1: Adiciona contato

Implementar um aplicativo que adiciona contatos na lista de contatos do Android. Ver dicas no site: Pura Vida Apps

Atividade IV.2: Envio de email

Implementar um sistema de envio de email para diversos destinos, estilo SPAM.

Atividade IV.3: Gravando som

Implementar um gravador de som, que disponibiliza os audios via web.


Obrigado pelo interesse e dedicação!!!