Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
5
1 - Introdução ao App Inventor .............................................................................. 6
1.1 - Primeiros Passos ............................................................................................. 6
1.2 - Interface de produção .................................................................................... 9
AULA 02 ..................................................................................................... 13
2 - Nosso primeiro App ..........................................................................................14
2.1 - App “Bateria_Eletronica” .............................................................................. 15
2.2 - Criação do App passo a passo ....................................................................... 15
2.3 - Programando nosso novo App ...................................................................... 24
AULA 03 ..................................................................................................... 29
3 - Diferentes modos de testar a Aplicação........................................................... 30
3.1 - Emulador .......................................................................................................33
AULA 04 ..................................................................................................... 37
4 - Verificação de condições e variáveis................................................................ 38
AULA 05 ..................................................................................................... 51
5 - Criando um cardápio mobile ............................................................................ 52
AULA 06 ..................................................................................................... 69
6 - Activity Starter, TinyDB e Clock ....................................................................... 70
6.1 - Novos componentes ......................................................................................70
6.2 - Projeto final ..................................................................................................70
Bibliografia ................................................................................................ 85
Imagens ................................................................................................................86
Para utilizar a ferramenta App Inventor, você necessariamente deverá possuir uma conta Google (a mesma utilizada
para o Gmail). Caso você não possua uma conta, acesse o link a seguir:
https://accounts.google.com/SignUp?continue=https%3A%2F%2Faccounts.google.
com%2FManageAccount&hl=EN
O App Inventor funciona como um software de criação de aplicativos, porém todo o processo de criação dos
aplicativos será feito via browser (Ex.: Chrome – Preferencialmente –, Firefox etc.). Esse web app (software online)
deve ser acessado no seguinte endereço:
http://appinventor.mit.edu/explore/.
Clique no canto superior esquerdo no botão Start New Project e verá a seguinte tela.
8 DESENVOLVIMENTO
EXCEL
DE APLICATIVOS
AVANÇADO 2013
- GOOGLE INVENTOR
Fig. 1.7 - Interface de produção
A interface de produção (Designer) do App Inventor é dividida em sete setores cujas funções são distintas. Veja
a seguir.
Chamaremos de setores os menus da interface de produção (Designer) para que você grave
na memória as funções que cada um representa. Falaremos agora, brevemente, sobre cada
um deles.
• O Setor 1 (verde) é o nosso menu principal. É nele que iniciamos um novo projeto, salvamos um projeto,
conectamos nosso projeto com um “emulador” (para testes de visualização), “compilamos” um projeto (salvar o projeto
como uma aplicação Android do tipo .apk) e também que encontramos nosso menu Help (Ajuda) para suprir nossas
dúvidas;
• No Setor 2 (rosa), encontramos o nome do nosso projeto à esquerda e também os botões de gerenciamento
de telas (visualizações) Screen1. Uma mesma aplicação poderá ter diversas telas e será nesse botão que faremos a
migração entre elas. A seguir, temos o botão Add Screen para incluirmos no projeto uma nova tela e, posteriormente,
o botão Remove Screen para remover.
No canto superior esquerdo, temos dois importantes botões do App Inventor: Designer e Blocks.
O ambiente é bem parecido com nossa interface de produção (Designer), porém será aqui que faremos toda a
programação dos nossos componentes da aplicação.
Explicaremos, posteriormente, esse ambiente (Blocks), quando já estivermos entendendo um pouco mais sobre
lógica de programação.
• O Setor 3 (azul escuro) é certamente o cérebro do nosso projeto. Nele se encontram todas as possibilidades
do projeto, como utilizar um botão, uma imagem, um som etc.
• Para a visualização do projeto, temos o Setor 4 (laranja), no qual podemos ver tudo o que é inserido no
projeto, a fim de arquitetarmos em tempo real nossas funcionalidades.
• No Setor 5 (lilás), vemos os componentes inseridos no projeto e também podemos renomeá-los para nossa
melhor compreensão.
• No Setor 6 (verde escuro), encontramos as propriedades do componente selecionado, ou seja, se estivermos
com o componente Button selecionado na tela de visualização (Setor 4), automaticamente veremos as propriedades
desse componente e poderemos alterá-las.
• No Setor 7 (azul claro), gerenciamos nossas mídias. É nele que fazemos o upload (envio) de arquivos de
imagens (formatos .png e .jpg), sons (somente arquivos .mp3) e vídeos (somente arquivos .mp4).
Agora que você conhece um pouco da interface gráfica, vamos aprender na prática como utilizá-la. Dessa forma,
construiremos nossa primeira aplicação.
A seguir, veja a tela inicial contendo projetos já feitos e o acesso à criação de novos projetos. Em
seu primeiro acesso, obviamente, sua lista estará vazia, mas esse é só o começo!
DESENVOLVIMENTO
DESENVOLVIMENTO
DE APLICATIVOS
DE APLICATIVOS
- GOOGLE INVENTOR
- GOOGLE INVENTOR 11
12 DESENVOLVIMENTO DE APLICATIVOS - GOOGLE INVENTOR
AULA 02
DESENVOLVIMENTO DE APLICATIVOS
GOOGLE INVENTOR
Antes de iniciarmos nossa criação, vamos falar um pouco sobre Lógica de Programação. Muitos têm pavor da palavra
programação, como se ela quisesse dizer “Bicho de Sete Cabeças”. Entretanto, isso não é verdade.
Prova disso é que todos nós somos programadores natos. Sim, você ouviu bem! Desde muito pequenos, aprendemos
a programar tudo o que fazemos, em nosso cérebro, seja quando estamos aprendendo a caminhar ou dar nossos
primeiros passos. Ou seja, usamos a programação mesmo em uma tarefa simples que fazemos todos os dias, como
escovar os dentes.
Veja como funciona nossa programação diária de “escovar os dentes”. Primeiramente, verifi camos no banheiro se
temos tudo de que precisamos, ou seja, uma pia, água, escova de dente, pasta de dente e toalha de rosto. Esses são
nossos componentes. Depois, temos que saber o que fazer com eles, ou seja, quais são nossas ações. Em seguida,
fazemos da seguinte forma:
Descrita dessa forma, uma simples atividade como a de escovar os dentes demonstra o quanto nossa vida depende
dessa lógica de programação. Na concepção de aplicativos, não é diferente. Temos de saber o que fazer, com o que,
quando e para quê. Isso é Lógica de Programação.
Agora que você compreende um pouco mais sobre Lógica de Programação, vamos iniciar a criação do nosso primeiro
aplicativo (App).
O primeiro passo para quem vai construir um aplicativo é idealizá-lo, ou seja, visualizar mentalmente ou por meio de
rascunhos toda a interface gráfi ca do seu App (como ele será visto). Você deverá também estabelecer um fl uxo sobre o
funcionamento da aplicação, desde a abertura dele ao fechamento. Veremos na prática como isso funciona.
Primeiramente, devemos saber como funciona uma bateria eletrônica para, assim, imaginarmos
como será o nosso aplicativo.
Fizemos um arquivo wireframe, como se fosse um rascunho do que será nosso App. Veja na
imagem a seguir.
Nesse wireframe, podemos ver que teremos cinco botões, sendo eles Chimbal, Caixa, Tom1,
Prato e Bumbo. A ideia é que, quando clicarmos nesses botões, eles emitam seu respectivo som.
Utilizaremos imagens e sons para esse nosso projeto. Todos os arquivos estão no link a seguir:
https://www.dropbox.com/sh/6xtd213p9vfh49y/
AAA0ooqL09h84dNfVHPOhrn_a?dl=0
Ao abrir o link, clique em Baixar. Guarde o local no qual o arquivo foi salvo, encontre-o em seu
computador, clique sobre o arquivo e descompacte o arquivo.
Caso não consiga acessar o link ou tenha difi culdades para baixar os arquivos, peça para seu
professor os arquivos solicitados.
Agora vamos abrir o App Inventor no computador e começar a criar.
Como visto no capítulo anterior, para criamos um aplicativo, devemos iniciar um projeto no
App Inventor.
Acesse o link http://appinventor.mit.edu e clique em Create. Se você tiver acessado
recentemente o App Inventor, ao acessá-lo novamente, ele automaticamente já estará logado
em sua conta. Se o sistema pedir, entre com seus dados de acesso de sua conta Google.
Ao entrar no ambiente, clique no projeto criado anteriormente para ser levado à interface de
produção. Caso não tenha criado um projeto, clique em New project e nomeie como “Bateria_
Eletronica” seu novo projeto.
Agora, vamos prosseguir com o passo a passo da criação. Neste momento, atente-se apenas
a repetir os passos solicitados.
Vejamos nossa primeira tela de produção.
Nosso primeiro passo será estabelecer nosso layout (disposição dos objetos). Para isso,
faremos o seguinte;
Clique na seção Layout, localizada no Setor 3 do nosso ambiente de produção.
Em seguida, clique, arraste e solte, para o Setor 4 (visualização), o componente
TableArrangement. Sua tela deverá fi car como na imagem a seguir.
16 DESENVOLVIMENTO
EXCEL
DE APLICATIVOS
AVANÇADO 2013
- GOOGLE INVENTOR
Esse componente é utilizado para estabelecer um layout (disposição dos elementos) no formato de tabela, para que
consigamos inserir nossos objetos iniciais.
Agora, com o componente selecionado (TableArrangement), vá até o Setor 6 (Propriedades) e escreva, no
campo Columns (colunas), o número 2. No campo Rows (linhas), coloque também o valor 2. No campo Width
(largura), selecione o valor Fill parent (Preencher pai), que significa estabelecer para a largura o tamanho da largura
da tela. Clique em OK. Em seguida, configure o campo Height (altura) com o valor Automatic e clique em OK.
Sua tela deverá ficar como a imagem a seguir.
O próximo passo será inserir os botões dentro do nosso TabletArrangement. Lembre-se de que ele possui duas
colunas e duas linhas, ou seja, ele funciona como um container capaz de abrigar quatro componentes.
Clique no Setor 3, na seção User interface (interface do usuário), e depois clique e arraste para dentro do
componente TableArrangement o componente Button (Botão). Faça isso novamente com mais três botões.
Sua tela deverá ficar como a imagem a seguir.
Clique em Choose file (escolher arquivo), encontre o arquivo “chimbal_active.png”, que deverá estar dentro da
pasta Bateria_Eletronica/imagens/, e depois clique em OK.
Sua tela deverá aparecer como a figura a seguir.
Agora, vamos repetir os passos anteriores de inserção de imagem para os botões Button2, Button3 e Button4.
Lembre-se de sempre selecionar o botão que você deseja configurar.
O próximo passo será inserir nosso último botão (Bumbo). Perceba que esse botão é maior e
ocupará todo o restante de nossa tela. Dessa forma, nosso botão será inserido fora do componente
TableArrangement.
No menu Palette (paleta), na seção User interface, clique, arraste e solte o componente
Button dentro do espaço em branco que restou na nossa Screen1. Sua tela deverá fi car como
a fi gura a seguir.
DESENVOLVIMENTO
DESENVOLVIMENTO
DE APLICATIVOS
DE APLICATIVOS
- GOOGLE INVENTOR
- GOOGLE INVENTOR 19
Agora, vamos alterar as propriedades do componente Button5, como fizemos com os botões anteriores, você ainda
se lembra? A primeira delas será apagar o texto no campo Text; a segunda será alterar a largura (Width) para o valor
Fit to parent e a terceira será configurar o valor da altura (Height) para o valor Automatic.
Agora, vamos efetuar o upload correspondente ao componente do Button5 (Bumbo), cuja imagem será “bumbo_
active.png”. Encontre o arquivo e configure-o, como feito nos botões anteriores.
Sua tela deverá ficar como a figura a seguir.
Perfeito! Agora, vamos renomear nossos componentes para que tenhamos um maior e melhor controle sobre nossos
próximos passos.
Clique em cada um dos componentes localizados no Setor 5 (Components) e, em seguida, clique em Rename
(renomear). Note que uma nova tela aparecerá, conforme a imagem a seguir.
Nosso próximo passo será configurar o background (imagem de fundo) do nosso componente Screen1.
No Setor 5, selecione o componente Screen1, que diz respeito a todo o conteúdo do nosso aplicativo. Agora, vá até
o Setor 6 (propriedades) e altere o valor do campo BackgroundImage. Clique em Upload File... e encontre no seu
computador a imagem “bg2.png” . Note que o procedimento de inserção é o mesmo dos botões anteriores.
Após inserir a imagem do background, sua tela deverá ficar como na figura a seguir.
Ótimo! Nosso próximo passo será inserir os componentes de som (Sound) em nosso projeto. Diferentemente do
componente Button, o componente Sound fica dentro da seção Media, no menu Palette. Após encontrá-lo, clique
sobre ele, segure-o e arraste-o até o Setor 4. Observe que o componente Sound não é um objeto visual e, neste caso,
ele aparecerá abaixo da nossa visualização Screen1 como Non-visible components (componentes não visíveis).
Repita o passo anterior mais quatro vezes, totalizando a inserção de cinco novos componentes
de som (Sound), sendo Sound2, Sound3, Sound4 e Sound5.
Sua tela deverá fi car assim
Aqui, termina a inserção de conteúdo do nosso aplicativo. Agora, vamos para a tão esperada programação.
Veja a seguir.
Como você já sabe, temos dois tipos de ambientes no App Inventor: o ambiente Designer, no qual estivemos até
o momento, e o ambiente Blocks, que conheceremos agora.
É no ambiente Blocks que faremos toda a programação do nosso App, ativando as funções que cada objeto terá
na aplicação.
Veja na fi gura a seguir o ambiente Blocks. Lembre-se de que, para ativá-lo, basta clicar no Setor 2, no botão Blocks.
Devemos, neste momento, nos atentarmos apenas a duas coisas: à seção Built-in, cujas ramifi cações
são tipos de códigos utilizados, e, mais abaixo, à seção Screen1, que contém todos os componentes
inseridos anteriormente.
Lembre-se do que foi dito no início deste material: sempre devemos saber o que vamos fazer e também com quem
ou com o que vamos fazer. No nosso caso, especifi camente, temos que fazer o seguinte:
• Ao clicar (ou tocar com o dedo) no botão CHIMBAL, devemos ativar o Play do áudio respectivo, no caso “hihat.mp3”;
• Ao clicar (ou tocar com o dedo) no botão CAIXA, devemos ativar o Play do áudio respectivo, no caso “snare.mp3”;
• Ao clicar (ou tocar com o dedo) no botão TOM 1, devemos ativar o Play do áudio respectivo, no caso “tom1.mp3”;
• Ao clicar (ou tocar com o dedo) no botão PRATO, devemos ativar o Play do áudio respectivo, no caso “crash.mp3”;
• Ao clicar (ou tocar com o dedo) no botão BUMBO, devemos ativar o Play do áudio respectivo, no caso “kick.mp3”.
Faremos isso da seguinte maneira: encontre e selecione no menu lateral o componente Chimbal, conforme
fi gura seguinte.
Note que o elemento selecionado é um botão (Button). O sistema coloca à frente dele um ícone
que lembra um botão. Quando esse tipo de elemento é selecionado, o sistema automaticamente
nos dá diversas opções de ação (Functions ou funções). No caso, precisamos da função de clique
(.click). Nesse caso, devemos selecionar essa opção (primeira da lista).
Sua tela deverá fi car como a fi gura a seguir.
DESENVOLVIMENTO
EXCEL
DE APLICATIVOS
AVANÇADO 2013
- GOOGLE INVENTOR 25
Faça isso com os demais componentes do tipo “Botão” e sua tela deverá fi car como a fi gura a seguir.
As próximas ações que devemos incluir estarão conectadas às ações anteriores. Observe que os
blocos inseridos até o momento são como peças de um quebra-cabeças, cujo formato se encaixa
exatamente às funções que iremos inserir.
Agora, as ações ocorrerão nos componentes de som, cujo ícone lembra um alto-falante. Observe.
Clique no componente de som chimbal_sound e verá a tela a seguir.
Muito bem! Agora, faça o mesmo com os outros componentes de áudio, conectando as ações .play às ações .click
de cada um, respectivamente.
Sua tela deverá ficar como na figura a seguir:
Fig. 2.24 - Ação de .play dos componentes Sound conectados à ação .click
Com isso, finalizamos as ações referentes ao conteúdo do nosso App. Agora, estamos prontos para testar.
Veremos como instalar o emulador no próximo capítulo e também como testar nosso aplicativo diretamente em um
smartphone Android.
O site do App Inventor nos traz três opções de teste para as aplicações criadas dentro do ambiente de produção.
A primeira opção, e também a mais recomendada pelo App Inventor, é o teste via wi-fi diretamente em um
dispositivo Android. Essa opção é a mais recomenda, pois nela você terá a verdadeira impressão que um usuário
Android terá quando o aplicativo estiver pronto, ou seja, é um teste muito fi el. Com o teste diretamente no dispositivo
Android, você terá condições de avaliar se o projeto visual está fl uido e se o processamento da aplicação feita pelo
smartphone corresponde ao esperado. Sem contar que somente nessa opção você terá condições reais de tocar na tela
do dispositivo.
Para poder efetuar esse teste, primeiramente será necessário possuir um dispositivo Android. Será necessário
também efetuar o download do aplicativo MIT AI2 Companion, facilmente encontrado no link a seguir, que o levará
para o ambiente de download da Google Play (acesse diretamente de um dispositivo Android):
https://play.google.com/store/apps/details?id=edu.mit.appinventor.aicompanion3
Também será possível efetuar o download por meio do QRCODE a seguir (é necessário possuir um leitor QRCODE
em seu smartphone):
Veja, na fi gura seguinte, a aplicação aberta no smartphone com a opção via digitação do
código gerado.
Fig. 3.4 - Acessando o teste no smartphone via código “connect with code”
Em ambas as situações, o resultado é o mesmo, como você pode ver na fi gura a seguir.
Esse mesmo teste via smartphone pode ser feito via USB. Para isso, você precisará de
um smartphone Android, um cabo USB conectado no computador no qual o App Inventor
estiver sendo executado (com os drivers reconhecidos pelo computador), e com o modo de
armazenamento ativo no celular. Para efetuar esse teste, clique em CONECT e, depois, em
USB. Aguarde o processamento e visualize a sua aplicação.
O teste você confere na fi gura a seguir.
32 DESENVOLVIMENTO
EXCEL
DE APLICATIVOS
AVANÇADO 2013
- GOOGLE INVENTOR
Fig. 3.7 - Testando a aplicação diretamente no smartphone via USB
3.1 - Emulador
Podemos também testar a aplicação diretamente no computador com o uso do emulador fornecido pelo MIT. O
emulador se chama aiStarter e as informações de instalação podem ser encontradas no link a seguir:
http://appinventor.mit.edu/explore/ai2/setup-emulator.html
Nesse link, você encontrará informações de instalação nas plataformas MacOs, Windows e Linux. Será necessário
efetuar o download do pacote de instalação do aiStarter (emulador). Caso o emulador não esteja instalado na sua
máquina ou caso você sinta dificuldades para efetuar a instalação, peça ajuda e maiores informações para seu Instrutor.
Depois de instalado o aiStarter, para efetuar o teste com o emulador, volte ao App Inventor, clique em CONECT
e depois em Emulador, como na figura a seguir.
Posteriormente, você verá o emulador na tela do seu computador, conforme as imagens a seguir.
Pronto! O próximo passo é testar nossa aplicação no emulador. Clique nos botões da bateria
eletrônica e verifi que se estão funcionando. Se tudo estiver certo, para cada clique você terá um
som correspondente.
DESENVOLVIMENTO
DESENVOLVIMENTO
DE APLICATIVOS
DE APLICATIVOS
- GOOGLE INVENTOR
- GOOGLE INVENTOR 35
36 DESENVOLVIMENTO DE APLICATIVOS - GOOGLE INVENTOR
AULA 04
DESENVOLVIMENTO DE APLICATIVOS
GOOGLE INVENTOR
Agora que você já enviou o áudio “wrong.mp3” para o novo componente de som, vamos
para o ambiente de programação Blocks. Sua tela deverá aparecer como na imagem a seguir.
40 DESENVOLVIMENTO
EXCEL
DE APLICATIVOS
AVANÇADO 2013
- GOOGLE INVENTOR
Note que, ao rolar os elementos localizados à esquerda de sua tela, você encontrará o componente de som “wrong”.
Clique sobre ele e selecione a ação wrong.play, como na imagem a seguir.
Ao incluir a ação de “play” no ambiente de programação, o App Inventor irá sinalizar como um erro, mas não se
preocupe: trata-se apenas de uma mensagem sinalizando a não existência de “pai” para a ação específica.
O áudio “wrong.mp3” refere-se ao som de “Erro”, como uma campainha. A ideia é tocá-lo quando nossa condição
for contrária à condição atual. Até o momento, não fizemos nenhuma verificação no nosso código, apenas mandamos
o App Inventor tocar os áudios quando os botões forem clicados.
Para efetuar uma verificação no código, primeiramente vamos focar no clique do botão Chimbal. Criaremos duas
variáveis, que serão “Tocar” e “naoTocar”. Existem regras de nomenclatura para a criação de variáveis, dentre elas o
fato de não utilizar acentos e não haver espaços entre as palavras.
Para criar uma variável, no menu Blocks, selecione a seção Variables. Clique em Inicialize global Name to, como
na imagem seguinte.
Agora, “falaremos” para o nosso código que a variável local Tocar tem como valor a lógica True (verdadeiro). Para
isso, vá até o menu lateral esquerdo, na seção Logic, e clique no valor True. Arraste e conecte a variável Tocar, como
na imagem a seguir.
Agora, faremos a inclusão de uma nova variável com o nome de naoTocar, cujo valor é contrário à variável Tocar.
Ou seja, colocaremos o valor False. Veja na figura a seguir como seu código deverá ficar.
Agora, vamos incluir a condição IF em nosso código. Para isso, vá até o menu lateral esquerdo,
na seção Control, e selecione a condição IF, como na fi gura a seguir.
Vamos, agora, utilizar um bloco de comparação matemática em nosso código que funciona assim:
elemento “A” pode ser igual, diferente, maior, menor, maior igual ou menor igual ao elemento “B”.
Para entender melhor, no menu lateral, na seção Math (matemática), selecione o segundo bloco
que aparece na lista, como na fi gura a seguir. Aproveite para reorganizar seu código, separando o
botão de clique do componente Chimbal mais acima da tela.
DESENVOLVIMENTO
DESENVOLVIMENTO DE APLICATIVOS
DE APLICATIVOS - GOOGLE INVENTOR
- GOOGLE INVENTOR 43
Fig. 4.11 - Adicionando a comparação matemática
Agora, precisamos entender o processo de condicional no código. Queremos verificar se as variáveis criadas
são True ou False. Tudo isso será feito dentro da nossa ação de clique, afinal é nela que a verificação será
feita. Observe que, no bloco IF, existem duas conexões, uma fará a verificação e a outra conectará a ação que
será feita. Nesse caso, desconecte a ação de .play do botão de clique e conecte-a no nosso IF, como na figura
a seguir.
O próximo passo é arrastar nossa condicional para dentro do nosso clique, carregando a ação de .play que acabamos
de reconectar. Veja a figura a seguir.
Depois disso, devemos conectar nossa comparação matemática ao nosso IF, que agora está dentro da ação de clique.
Veja na figura a seguir como deverá ficar sua programação.
Para que nosso conjunto de ações funcione, precisamos completar nossa comparação matemática. Podemos resolvê-
la de diversas maneiras, por isso a programação é tão interessante, pois é pura criatividade.
Vamos incluir mais dois novos blocos. O primeiro deles será o bloco GET (obter), que está dentro da seção Variables,
localizada no menu lateral esquerdo da tela. Veja a imagem a seguir.
Conecte o bloco GET, no primeiro valor que está vazio, no bloco de comparação matemática, como na fi gura a seguir.
Agora, inclua um novo bloco GET na programação. Desta vez, confi gure-a com a variável naoTocar. Na
sequência, conecte-a ao segundo campo da comparação matemática. Sua tela deverá fi car como a fi gura
a seguir.
Observe que, nesse momento, já não haverá mais nenhuma mensagem de erro na tela, pois
sua ação (função) está correta. Porém, vamos analisar a nossa comparação matemática imposta
na verifi cação IF.
Note que estamos querendo saber nessa comparação SE a variável Tocar é IGUAL ( = )
à variável naoTocar. Lembre-se de que, ao criarmos as variáveis, determinamos valores para
elas, sendo que a variável Tocar tem o valor True e a variável naoTocar tem o valor False. Ou
seja, elas NÃO são iguais. Neste caso, nossa verifi cação IF não foi validada, sendo a condição
ELSE favorável. Conclusão: ao efetuar o teste no emulador ou no smartphone, note que o áudio
“wrong.mp3” será tocado. Vamos testar? Proceda com os passos aprendidos anteriormente para
emular a sua aplicação. Caso tenha dúvidas, peça ajuda para seu professor.
DESENVOLVIMENTO
EXCEL
DE APLICATIVOS
AVANÇADO 2013
- GOOGLE INVENTOR 49
Viram como ficou? Muito bem! Agora vamos alterar a nossa comparação matemática e verificar se a variável Tocar
é DIFERENTE ( ≠ ) da variável naoTocar, alterando o seletor da comparação matemática para o símbolo ≠. Veja a
imagem a seguir.
Note que, ao configurar o valor da comparação matemática para ≠, você fez a seguinte pergunta para a programação
da verificação IF: se a variável Tocar for DIFERENTE ( ≠ ) da variável naoTocar, toque o áudio chimbal_sound.
Neste caso, a verificação foi favorável ao IF. Sendo assim, note que, ao emular o aplicativo, o som Chimbal será tocado
corretamente, e não mais o áudio “wrong.mp3”.
Faça agora esse mesmo conjunto de verificações e comparações para os outros componentes de clique
em sua programação. Aproveite para alternar os valores das comparações matemática e, assim, efetuar
novos testes.
Sua tela poderá ficar como na figura a seguir.
Parabéns! Você acaba de se aprofundar ainda mais no mundo da programação e na criação de aplicativos mobile.
Pratique, tente novas ações e experiências para aprimorar ainda mais seu conhecimento.
Para criar nosso novo aplicativo, utilizaremos novas imagens, que podem ser baixadas no link a seguir:
https://www.dropbox.com/sh/3cd8znn2zqzigc3/AAC3MtJDn5OFS_r9I2O_t6Sqa?dl=0
Caso não consiga efetuar o download das imagens pelo link, peça para seu Instrutor os arquivos solicitados.
Vamos para o App Inventor iniciar um novo projeto. Nomeie o projeto como Cardapio_Mobile (sem espaços entre
as palavras e sem acentos).
Nosso cardápio consiste em termos quatro telas (Screens) em um mesmo projeto. Para isso, clique no Setor 2,
no botão Add Screen. Repita o procedimento até possuirmos quatro telas, que serão: Screen1, Screen2, Screen3
e Screen4.
Selecione a Screen1, como na fi gura a seguir.
Sua Screen1 deverá fi car como na fi gura a seguir. Lembre-se de confi gurar o valor de
BackgroundColor da Screen1 para None.
O próximo passo será incluir o componente Listpicker. Clique e arraste para a Screen1. Note
que o componente Listpicker se comporta como um botão ao ser inserido na tela. Confi gure-o
com width Fill Parent e height Automatic. Limpe o texto no campo Texto das propriedades do
Listpicker e insira uma imagem cujo nome é cliqueaqui.png.
54 DESENVOLVIMENTO
EXCEL
DE APLICATIVOS
AVANÇADO 2013
- GOOGLE INVENTOR
Selecione a Screen2.
Na Screen2, vamos inserir um botão e, posteriormente, uma imagem. Para o botão, renomeie o texto para “Clique
para voltar”. Para o width do botão, insira o valor Fill parent e, para o heigth, o valor Automatic.
Sua Screen2 deverá ficar assim.
Observe que a rolagem da tela foi ativada, pois temos uma imagem com altura maior do que a
Screen. Role até o fi nal e note que nosso botão inserido anteriormente está no rodapé da nossa tela.
Agora, faça o mesmo com a Screen3 e com a Screen4, porém, para a Screen3, utilize a imagem
exemplo_b.png. Para a Screen4, utilize a imagem exemplo_c.png. Lembre-se de sempre
adicionar primeiro o componente Button na tela e, posteriormente, o componente Image acima
do Button.
Agora, vamos utilizar o bloco Make a list, localizado na seção Lists, e conectá-lo com a nossa variável listaCardapio.
Como teremos uma lista com três exemplos, clique no ícone azul do bloco Make a list e insira mais um item, como na
figura a seguir.
Fig. 5.14 - Conectando bloco Make a list com três itens à variável listaCardapio
Agora, já temos nossa variável com os valores necessários para ser utilizada no componente Listpicker.
Será preciso carregar nossa variável logo na inicialização do aplicativo, para que nossos seletores estejam ativos (lista
de opções).
Selecione o componente Screen1, clique no bloco When Screen1 inicialize e arraste-o, como na figura a seguir.
Fig. 5.17 - Conectando o bloco Set Listpicker1 elements to ao When Screen1 inicialize
O próximo passo será conectar a variável listaCardápio ao Listpicker. Utilize o bloco GET,
como na fi gura a seguir.
Note que, ao clicar na tela inicial, automaticamente você é levado para o Listpicker, como na imagem anterior.
Repare que, ao clicar em uma das opções, o App Inventor retorna para a tela inicial, pois ainda não implementamos
a ação após o objeto selecionado.
Fig. 5.23 - Inserindo condicional ELSE/IF dentro do bloco When Listipker1 .AfterPicking
DESENVOLVIMENTO
EXCEL
DE APLICATIVOS
AVANÇADO 2013
- GOOGLE INVENTOR 63
Sua tela deverá fi car como na fi gura a seguir.
Note que o seletor de comparação de texto deverá fi car com o valor IGUAL ( = ).
Lembre-se de que queremos comparar o valor do texto recebido na seleção do Listpicker com
o valor inserido no campo posterior. Dessa forma, insira o bloco Listpicker.Selection em cada
campo inicial da nossa comparação de texto. Sua tela deverá fi car como a fi gura a seguir.
Já temos nossas condicionais inseridas, porém ainda não inserimos as ações para cada uma delas. Agora é simples:
vamos inserir o bloco Open another screen sreen name em cada uma das ações Then dos nossos IF e ELSE. Para
isso, localize o bloco Open another screen screen name, que está na seção Control, no menu lateral esquerdo.
Agora, faremos a inserção de mais três blocos de texto, cada um contendo a informação referente à tela que vamos
migrar após a validação dos IF/ELSE. O primeiro deles será o texto “Screen2”, o segundo o texto “Screen3” e, por
último, o texto “Screen4”. Conecte os blocos de texto criados às ações de troca de tela, como na figura a seguir.
Ótimo! Aqui terminamos a programação da nossa Screen1. Agora, vamos programar os cliques dos botões das telas
Screen2, Screen3 e Screen4.
Selecione a Screen2 no botão correspondente localizado no Setor 2. Agora, com o componente Button1 selecionado,
insira um bloco .click na tela. Posteriormente, você deverá inserir um bloco Open another screen screen name e
preenchê-lo com um bloco de texto cujo valor será Screen1.
Repita esses passos nas telas Screen3 e Screen4, fazendo sempre a mesma referência no
bloco de Text para o valor Screen1 (retornar para a Screen1).
Perfeito! Agora, podemos efetuar nosso teste fi nal no emulador ou smartphone e verifi car o
funcionamento do nosso novo aplicativo Cardápio Mobile.
DESENVOLVIMENTO
EXCEL
DE APLICATIVOS
AVANÇADO 2013
- GOOGLE INVENTOR 67
68 DESENVOLVIMENTO DE APLICATIVOS - GOOGLE INVENTOR
AULA 06
DESENVOLVIMENTO DE APLICATIVOS
GOOGLE INVENTOR
Faremos agora um novo e último projeto. Neste projeto, você conhecerá três novos componentes non-visibles
(invisíveis) na interface Designer, porém são componentes muito importantes e de enorme utilidade em projetos que
necessitam de atividades nativas do sistema operacional Android, bem como em automação de projetos.
O Activity Starter é um componente responsável por integrar ações nativas do Android (do sistema operacional)
com as ações do usuário.
O componente TinyDB é o banco de dados da aplicação. Ele é capaz de indexar informações dentro da aplicação para
que ela consuma os dados salvos. Os dados são salvos com chaves (tags), dessa forma é possível consumir dados de
diversas chaves em determinadas situações.
O componente Clock é responsável pela automação da aplicação. É a persistência automatizada, podendo ser utilizado
como uma espécie de timer para determinadas ações dentro da aplicação.
Nosso projeto fi nal tem como objetivo consumir dados inseridos na aplicação, gravar automaticamente os dados
inseridos e acessar uma função nativa do sistema operacional. Faremos um App de pesquisa nas redes sociais. Teremos
auxílio de um componente que estamos vendo pela primeira vez, cujo nome é TextBox, que possibilita a chamada
(utilização) do teclado virtual (função nativa) na inserção de texto.
Neste novo desenvolvimento, você utilizará novas imagens, que podem ser baixados no link a seguir:
https://www.dropbox.com/sh/66yvxt8eg6oeva8/AADVb6ZXLTwUo-8AWVsAtIt6a?dl=0
Se não for possível acessar o link, peça para o seu educador disponibilizar os arquivos.
Primeiramente, inicie um novo projeto com o nome Search_Social.
O próximo passo será inserimos, com o auxílio do menu lateral, à esquerda da interface de
produção do App Inventor, o componente TableArrangement. Vamos confi gurá-lo com duas
colunas e duas linhas. Confi gure o width com o valor Fill parent e o height com valor Automatic,
como na imagem a seguir.
Agora, vamos inserir as respectivas imagens referentes aos botões. Fique à vontade para
posicioná-las. Veja a seguir.
72 DESENVOLVIMENTO
EXCEL
DE APLICATIVOS
AVANÇADO 2013
- GOOGLE INVENTOR
Agora, vamos inserir o componente TextBox acima do nosso TableArrangement. Para as configurações desse
componente, insira, no campo Hint, o texto search here. O width deverá estar com Fill parent e o height com 100
pixels. Para o BackgroundColor, configure a cor Light Gray. Perceba que temos um checkbox com os dizeres
Multiline (multilinhas). Clique e selecione essa opção. Sua tela deverá ficar como a imagem a seguir.
Agora, vamos inserir os componentes non-visibles. Faremos, primeiramente, a inserção do componente Activity
Starter, facilmente encontrado no menu lateral da seção Conectivity. Arraste-o para a interface de produção. Nas
configurações, preencheremos apenas o campo referente à seção Action com o valor android.intent.action.VIEW
(escrito exatamente dessa forma). Veja como sua tela deverá ficar na figura a seguir.
O próximo componente a ser inserido será o Clock. Ele é encontrado na seção Storage. Arraste-o para a interface
de produção e mantenha as configurações-padrão do componente.
Termina aqui nosso trabalho na interface Designer. Vamos para a interface Blocks para editarmos
nossa programação.
Faremos a inserção de um bloco de texto editável para cada primeira conexão dos blocos Join inseridos anteriormente.
Veja como deverá ficar.
Perceba que Button1 faz referência ao ícone da rede social Facebook. Já o Button2 faz referência ao Twitter e
os Button3 e Button4 fazem referência ao YouTube e ao Google Plus, respectivamente. Agora, vamos editar os
blocos Text inseridos, sendo que cada um terá um texto diferente. Veja a seguir os textos que devem ser inseridos em
cada botão.
• Button1 - https://www.facebook.com/search.php?q=
• Button2 - https://twitter.com/search?q=
• Button3 - https://www.youtube.com/results?search_query=
• Button4 - https://plus.google.com/s/
Como você pode ver, esse bloco possui duas conexões e elas são obrigatórias. Faremos a
inserção de um bloco Text na conexão Value e novamente vamos inserir o bloco TextBox1,
desta vez nas conexões valueToStore. Insira, no bloco Text, o texto Search (procurar).
Aqui terminamos nossa função de clique, mandando e recebendo informações do banco de dados, porém ainda temos
que confi gurar outras ações ligadas à inicialização do nosso App e também ligadas à nossa persistência automatizada,
responsável por gravas nossos dados no banco automaticamente, de 1 em 1 segundo.
Selecione a Screen1 e, em seguida, encontre o bloco When Screen1 initialize. Coloque-o no ambiente Blocks.
Agora, conecte o bloco Set TextBox1.Text ao bloco inserido anteriormente. Você deverá ter a seguinte tela.
Note que esse bloco traz, já conectado com ele, um bloco Text. Vamos inserir mais um e vamos editá-los com os
textos Search e Search here, respectivamente.
Lembre-se de que esse componente é responsável pelo nosso salvamento automático, ou seja,
ele fará o salvamento automático das nossas informações no banco de dados. Conecte a esse
componente o bloco Call TinyDB1.StoreValue.
DESENVOLVIMENTO
EXCEL
DE APLICATIVOS
AVANÇADO 2013
- GOOGLE INVENTOR 81
Na sequência, vamos conectar um bloco de Text, cujo texto será novamente Search. Logo
abaixo, na conexão ValueToStore, o bloco TextBox1.Text, como na fi gura a seguir.
Com isso, fi nalizamos nossa programação. Agora, devemos testar nossa aplicação e ver o que
ela é capaz de fazer.
Se você seguiu corretamente os passos, sua aplicação deverá agir da seguinte forma:
Ao inserir uma palavra simples ou composta no componente TextBox1 e, posteriormente, clicar
em um dos botões, automaticamente sua aplicação acionará um recurso nativo do seu smartphone,
o browser de navegação. Ao retornar do browser para o aplicativo, note que a pesquisa inserida
anteriormente está mantida no TextBox1, pois temos o componente Clock1, que salva nossas
informações automaticamente em nosso banco TinyDB1. Faça diversas pesquisas em seu novo
aplicativo para compreender melhor seu funcionamento.
Aqui termina nosso curso de desenvolvimento de aplicativos com o App Inventor. Note que você aprendeu diversos
recursos e poderá usá-los de maneiras distintas. Navegue sempre pelo site do App Inventor para acompanhar tutoriais
e informações atualizadas sobre essa valiosa ferramenta de criação.
Júlio Battisti MCSE, MCSA, MCDBAeE MCSD, Windows Server 2003 – Curso Completo
Sites:
Disponível em: <http://technet.microsoft.com/pt-br/library/jj648426.aspx#WDS_ -
InstallingWindowsDeploymentServices>. Acesso em 16 de Out. de 2014.
Disponível em: <http://juliobattisti.com.br/tutoriais/ricardogerhard/activedirectory002.
asp>. Acesso em: 16 de Out. de 2014.
Disponível em: <http://technet.microsoft.com/library/hh831484> Acesso em: 16 de
Out. de 2014.
Disponível em: <http://www.linhadecodigo.com.br/artigo/2422/o-que-e-o-active-
directory.aspx> Acesso em: 18 de Out. de 2014.
Disponível em: <http://technet.microsoft.com/pt-br/library/dd723678(v=ws.10).
aspx> Acesso em: 19 de Out. de 2014.
Disponível em: <http://technet.microsoft.com/pt-br/library/hh831440.aspx -
Applocker> Acesso em: 19 de Out. de 2014.
Disponível em: <http://technet.microsoft.com/pt-br/library/cc753109(v=ws.10).
aspx> Acesso em: 19 de Out. de 2014.
Disponível em: <https://www.microsoft.com/learning/pt-br/mcsa-certifi cation.aspx>
Acesso em: 19 de Out. de 2014.
Disponível em: <http://technet.microsoft.com/pt-br/library/hh831531.aspx - hyper-v
Disponível em: <http://www.tecmundo.com.br/web/1624-o-que-e-virtualizacao-.
htm> Acesso em: 19 de Out. de 2014.
Disponível em: <http://pt.wikipedia.org/wiki/Virtualiza%C3%A7%C3%A3o> Acesso
em: 19 de Out. de 2014.
Disponível em: <http://www.profi ssionaisti.com.br/2014/07/o-que-e-virtualizacao/>
Acesso em: 19 de Out. de 2014.
Disponível em: <http://www.infowester.com/virtualizacao.php> Acesso em: 19 de
Out. de 2014.
Disponível em: <http://technet.microsoft.com/pt-br/magazine/2009.gr.map.aspx>
Acesso em: 19 de Out. de 2014.
Disponível em: <http://technet.microsoft.com/pt-br/library/hh831656.aspx - Storage
Migration> Acesso em: 19 de Out. de 2014.
Disponível em: <http://technet.microsoft.com/pt-br/library/jj860433.aspx - Migração
de vm e armazenamento> Acesso em: 19 de Out. de 2014.
Disponível em: <http://technet.microsoft.com/pt-br/library/jj134230.aspx - VLAN>
Acesso em: 19 de Out. de 2014.
Disponível em: <http://technet.microsoft.com/pt-br/hh144972.aspx - VDI e MED-V>
Acesso em: 19 de Out. de 2014.
Disponível em: <http://technet.microsoft.com/pt-br/library/gg610625.aspx - Nuvem
privada> Acesso em: 19 de Out. de 2014.
Disponível em: <http://technet.microsoft.com/pt-br/library/jj860425.aspx - Nuvem
privada> Acesso em: 19 de Out. de 2014.
Imagens: