Artur Galeno
Tayn Gonalves
1. Introduo
O objetivo deste tutorial introduzir o leitor ao App Inventor e gui-lo na criao de um
aplicativo simples, cobrindo as funcionalidades bsicas da plataforma. O aplicativo usado como
exemplo ser para clculo de IMC (ndice de Massa Corprea), e informar ao usurio se o seu
IMC est acima ou abaixo do normal, ou normal. Espera-se que ao fim deste tutorial o leitor
tenha um bom entendimento do App Inventor, e autonomia para explorar as funcionalidades
no contempladas neste tutorial.
O App Inventor uma plataforma para criao de aplicativos Android baseada na web, que
prov uma interface visual com o objetivo de permitir que qualquer pessoa, mesmo sem um
profundo conhecimento de codificao, possa construir aplicativos Android. O App Inventor
um exemplo do conceito PaaS (Platform as a Service/Plataforma como servio) da
Computao Distribuda, pois a plataforma oferecida como um servio e est disponvel para
uso, bastando apenas que o usurio tenha um computador conectado internet e um browser.
A plataforma dividida em duas partes: App Inventor Designer, para a construo da interface
grfica da aplicao, e o App Inventor Block Editor, para associar aes aos componentes da
interface.
2. Histrico
A primeira verso trial do App Inventor foi lanada em Julho de 2010, apenas por convite. E a
verso pblica foi lanada em Dezembro de 2010. Inicialmente a plataforma pertencia e era
mantido pela Google, que abriu mo do projeto em 2011. Atualmente o App Inventor mantido
pelo MIT (Massachusetts Institute of Technology). Para desenvolver o App Inventor, a Google
se baseou em pesquisas anteriores em computao educacional e na experincia anterior da
empresa em desenvolvimento em ambientes computacionais online.
O App Inventor utiliza um editor baseado em blocos que feito a partir da biblioteca Open
Blocks para Java, a qual distribuda pelo STEP (Scheller Teacher Education Program) do
MIT. O STEP fruto da tese de mestrado de Ricarose Roque e distribuda sob a licena de
software livre do MIT.
Todo o ciclo de pesquisas que permitiram que o App Inventor existisse fruto de mais de 40
anos de pesquisa do MIT, e incluem outros projetos tais como Logo, StarLogo TNT e Scratch.
4. Preparando o ambiente
Acesse appinventor.mit.edu [Figura 1]. Na tela inicial podemos escolher entre: Teach para
explorar recursos educacionais, Explore para explorar informaes e tutoriais e Invent para
iniciar a criao de aplicativos. Neste tutorial usaremos apenas as duas ltimas opes.
Inicialmente, clique em Explore para realizar a preparao do ambiente.
Figura 1
Figura 2
Figura 3
Clique na etapa 1 (Prepare your system), que testar se o ambiente Java est funcionando na
mquina. Se o Java estiver funcionando, um pequeno aplicativo de bloco de notas ser aberto
[Figura 4]. Caso contrrio preciso realizar a instalao da mquina virtual Java.
Figura 4
Figura 5
Aps a instalao voc pode clicar no boto Invent your own apps now para comear a criar
seus aplicativos. Para iniciar preciso logar com uma conta do google, caso no possua uma
necessrio criar. A primeira tela aps o login a de Meus projetos [Figura 6]. Crie um novo
projeto com o nome IMC e estamos prontos para comear a produzir.
Figura 6
Figura 7
Na parte esquerda da tela est a Paleta de componentes, que contm componentes visuais
(botes, caixas de texto, etc) e no visuais (elementos para arranjo de tela, sensores, etc).
Para adicionar componentes interface basta arrast-los da paleta para dentro do
Visualizador, que possui uma tela central imitando a tela de um dispositivo Android.
medida que elementos vo sendo inseridos na tela, eles aparecem na seo Componentes.
Para alterar as propriedades de um componente basta selecion-lo na lista de componentes e
suas propriedades so habilitadas na parte direira da tela, na seo Propriedades.
Uma boa prtica renomear os componentes medida que so inseridos na tela. Arraste da
Paleta para a tela principal um componente Label, que servir como ttulo e um Table
Arrangement (submenu Screen Arrangement) que servir para nos ajudar a organizar a tela.
Renomeie o Label para lblTitulo e o Table Arrangement para tblTelaPrincipal. Alm disso mude
o texto do componente Screen1, atravs do atributo Title, de Screen1 para IMC.
A tela dever ficar como na Figura 8:
Figura 8
Rows (Linhas)
Weight (Largura)
Fill parent
O valor Fill Parent indica que a largura do componente ser igual ao espao disponvel no
componente pai. Nesse caso a tabela ser da largura da tela. Para lblTitulo o atributo weight
tambm deve estar como Fill Parent, o atributo Text como Calculo de IMC e o atributo
TextAligment como Center, para que o texto fique centralizado.
Para a coluna da esquerda da tabela arraste um componente Image e dois componentes Label.
Para coluna da direita arraste um Label e dois TextBox. Arraste um Button e depois um Label
para qualquer rea da tela abaixo da tabela. Este ltimo Label servir para exibir o resultado,
portanto apague o texto contido nele atravs da propriedade texto, ele ficar invisvel na tela.
Vamos utilizar a imagem mostrada na Figura 9 para o componente Image. Antes precisamos
fazer o upload do arquivo atravs do parmetro Picture do componente Image. Outra opo
fazer o upload atravs da seo Mdia, dentro da seo Componentes. Qualquer outra mdia
necessria para a aplicao, como outras imagens e sons, precisam tambm ser carregados e
aparecero a seo mdia.
Figura 9
Figura 10
Nossa interface est pronta, agora associaremos aes aos componentes da tela. Para iniciar
clique no boto Open the Blocks Editor no canto esquerdo superior da tela, e uma aplicao
Java ser iniciada.
6. Adicionando aes aos objetos da interface
A programao no App Inventor feita atravs do Blocks Editor [Figura 11]. A programao no
App Inventor baseada em blocos que so combinados entre si. Para us-los basta arrastar do
menu esquerdo (que possui 3 abas de componentes) para o centro da tela, onde a
montagem ser feita. Na parte superior direita temos os controles do emulador, que serviro
para que possamos testar a nossa aplicao.
Figura 11
A parte mais importante do Blocks Editor o menu dos blocos, que possui 3 abas:
Na Figura 12 podemos visualizar as duas abas mais usadas, Built-in e My Blocks, que sero
usadas neste tutorial. Para a aba Built-In est selecionado submenu Text, por isso os blocos
apresentados na imagem so relativos a texto. Na aba My Blocks est selecionado o
componente BtnCalcular, por isso temos blocos que representam aes relacionadas a botes,
como Click.
Figura 12
Inicialmente definiremos uma varivel para armazenar o clculo do IMC. Na aba Built-In, no
susbmenu Definition usamos o bloco def variable as para fazer isso. O valor atribudo zero
atravs do bloco number do submenu Math. O resultado o bloco mostrado na Figura 13.
Figura 13
Figura 14
Aps descobrir o valor do IMC precisamos exibir a mensagem adequada ao valor obtido.
Usaremos os sequintes intervalos:
IMC < 18.5
Magro
Saudvel
IMC > 25
Acima do peso
Precisamos usar condies para exibir a mensagem correta. Os blocos condicinais esto
disponveis no submenu Control. Ainda, para expressar o intervalo de valores para que uma
pessoa esteja saudvel usamos o bloco and, disponvel no submenu Logic. Como resultado
temos a estrutura de blocos mostrada na Figura 15.
Figura 15
Por fim devemos associar tudo isso ao click do boto Calcular. Para isso usamos o bloco
When btnCalcular.Click do disponvel na aba My Blocks. O resultado mostrado na Figura
16.
Figura 16
Finalmente iremos testar o aplicativo. Clique no boto New Emulator no canto superior direito
da tela. A mensagem mostrada na Figura 17 aparecer.
Figura 17
Assim que o emulador estiver pronto ele aparecer na tela, conforma Figura 18.
Figura 18
Figura 19
Figura 20
Figura 20
Para testar o aplicativo no seu dispositivo Android basta retornar tela de design e utilizar a
opo Package fo phone, mostrada na Figura 21.
Figura 21