Livro-Texto - Unidade I
Livro-Texto - Unidade I
Livro-Texto - Unidade I
Dispositivos Móveis
Autor: Prof. Olavo Tomohisa Ito
Colaboradoras: Profa. Vanessa Santos Lessa
Profa. Christiane Mazur Doi
Professor conteudista: Olavo Tomohisa Ito
Mestre em Engenharia de Produção pela Universidade Paulista (UNIP), bacharel em Física pelo Instituto de Física
da Universidade de São Paulo (USP), licenciado em Ciências pela Faculdade de Educação da USP, e bacharel em Língua
e Literatura Japonesa pela Faculdade de Filosofia, Letras e Ciências Humanas (FFLCH) da USP. Professor dos cursos de
graduação tradicional de Sistemas de Informação e Ciência da Computação, bem como do curso superior tecnológico
de Análise e Desenvolvimento de Sistemas. Das disciplinas que ministra, Programação para Dispositivos Móveis é
especial, pois durante muitos anos atuou no ensino de programação para crianças e jovens, desde a Pré-Escola, com
ScratchJr, até o Ensino Médio, com App Inventor, entre outros. Em 2015, recebeu a certificação Mobile Computing with
App Inventor – CS Principles pelo Trinity College, Connecticut.
CDU 004.512
U511.34 – 21
© Todos os direitos reservados. Nenhuma parte desta obra pode ser reproduzida ou transmitida por qualquer forma e/ou
quaisquer meios (eletrônico, incluindo fotocópia e gravação) ou arquivada em qualquer sistema ou banco de dados sem
permissão escrita da Universidade Paulista.
Prof. Dr. João Carlos Di Genio
Reitor
Comissão editorial:
Dra. Angélica L. Carlini (UNIP)
Dr. Ivan Dias da Motta (CESUMAR)
Dra. Kátia Mosorov Alonso (UFMT)
Apoio:
Profa. Cláudia Regina Baptista – EaD
Profa. Deise Alcantara Carreiro – Comissão de Qualificação e Avaliação de Cursos
Projeto gráfico:
Prof. Alexandre Ponzetto
Revisão:
Ricardo Duarte
Ana Fazzio
Sumário
Programação para Dispositivos Móveis
APRESENTAÇÃO.......................................................................................................................................................7
INTRODUÇÃO............................................................................................................................................................9
Unidade I
1 INTRODUÇÃO AO APP INVENTOR.............................................................................................................. 12
1.1 Acesso ao ambiente de desenvolvimento................................................................................... 15
1.2 Apresentação dos componentes do ambiente.......................................................................... 18
1.3 Instalação e configuração do emulador...................................................................................... 21
1.4 Teste do emulador................................................................................................................................. 33
2 DESIGNER............................................................................................................................................................ 34
2.1 Janelas....................................................................................................................................................... 35
2.1.1 Paleta............................................................................................................................................................ 37
2.1.2 Visualizador................................................................................................................................................ 48
2.1.3 Componentes............................................................................................................................................ 49
2.1.4 Mídia............................................................................................................................................................. 50
2.1.5 Propriedades.............................................................................................................................................. 51
2.2 Criação do app para a demonstração de componentes........................................................ 52
3 BLOCOS................................................................................................................................................................ 58
3.1 Conceito de programação: comportamento.............................................................................. 62
3.2 Tipos de evento...................................................................................................................................... 63
3.3 Componentes dos blocos................................................................................................................... 65
3.4 Criação do app para a demonstração de componentes........................................................ 82
4 TESTE DE APP..................................................................................................................................................... 92
Unidade II
5 APLICATIVO, TELA SIMPLES E APIS............................................................................................................ 98
5.1 Projetando o app1................................................................................................................................ 98
5.1.1 Identificação da demanda e definição das características do app1................................... 98
5.1.2 Criação do app1.....................................................................................................................................114
5.1.3 Teste do app1......................................................................................................................................... 127
5.2 Projetando o app2..............................................................................................................................136
5.2.1 Identificação da demanda e definição das características do app2................................ 136
5.2.2 Criação do app2.................................................................................................................................... 146
5.2.3 Teste do app2......................................................................................................................................... 160
6 APLICATIVO, TELAS MÚLTIPLAS E PROCEDIMENTOS........................................................................163
6.1 Projetando o app3..............................................................................................................................163
6.1.1 Identificação da demanda e definição das características do app3................................ 163
6.1.2 Criação do app3.................................................................................................................................... 177
6.1.3 Teste do app3..........................................................................................................................................202
Unidade III
7 TEORIA................................................................................................................................................................210
7.1 Planejando jogos.................................................................................................................................210
7.1.1 Identificação da demanda e definição das características do jogo.................................. 211
7.1.2 Apresentação da metodologia de game design document (GDD)....................................213
7.1.3 Criação de imagens para jogos........................................................................................................219
8 JOGOS NO APP INVENTOR..........................................................................................................................222
8.1 Projetando o jogo 1............................................................................................................................222
8.1.1 Design........................................................................................................................................................ 222
8.2 Projetando o jogo 2............................................................................................................................241
8.2.1 Design.........................................................................................................................................................241
8.3 Projetando o jogo 3............................................................................................................................253
8.3.1 Design........................................................................................................................................................ 253
8.3.2 SpriteImagem: eventos e propriedades....................................................................................... 265
8.4 Finalizando o jogo...............................................................................................................................278
8.4.1 Pontuação, tela de início, ranking e créditos............................................................................ 278
8.4.2 Atribuição de ícone e título.............................................................................................................. 279
8.4.3 Geração de arquivo APK.................................................................................................................... 280
8.4.4 Distribuição do jogo............................................................................................................................ 280
8.5 Preparando para a publicação na Play Store...........................................................................284
8.5.1 Informações dos detalhes do app.................................................................................................. 284
8.5.2 Versões do app....................................................................................................................................... 284
8.5.3 Classificação do aplicativo................................................................................................................ 285
8.5.4 Preços e distribuição............................................................................................................................ 285
8.5.5 Conta do desenvolvedor.................................................................................................................... 285
APRESENTAÇÃO
Caro aluno,
Assim, objetiva-se que os estudantes tenham contato direto com o ambiente mobile, de modo
que possam desenvolver projetos com o emprego do App Inventor e se familiarizar com a realidade
multidisciplinar dos trabalhos profissionais realizados em empresas da área de computação.
Em suma, este livro-texto tem como propósito apresentar aos alunos conceitos relacionados ao
desenvolvimento de aplicações para dispositivos móveis com o auxílio de uma ferramenta básica, a qual
dispõe de módulos de software que agilizam o processo de criação e de implementação de projetos.
A computação móvel está cada vez mais atuante no cotidiano das pessoas. Nesse cenário, faz‑se
necessária uma disciplina capaz de reunir a praticidade de um dispositivo bastante versátil com a
aprendizagem de conceitos e tecnologias computacionais.
A própria ferramenta utilizada no curso, o App Inventor, foi desenvolvida para possibilitar o acesso
de pessoas sem formação em informática ao mundo da criação de aplicativos.
Para apresentar o curso, vamos ler as palavras do idealizador do App inventor, Hal Abelson, em uma
entrevista ao canal do YouTube The Brainwaves Video Anthology (2015).
Quando eu vim para o MIT, no início da era do computador pessoal, era uma
época incrível, porque aqui ainda estavam as máquinas que até então eram
usadas exclusivamente por agências governamentais, grandes indústrias, e
de repente, em alguns anos, tudo isso se transformou em ferramentas para
o uso de pessoas comuns, tornando a computação pessoal uma ferramenta
com usos variados na infraestrutura e na indústria, como vemos atualmente.
Os líderes da tecnologia hoje, ou as pessoas que estão agora na casa dos 30,
40 e 50 anos, eram adolescentes naquela época, que manusearam e jogaram
com esses brinquedos computacionais.
7
Agora estamos passando por uma revolução ainda maior, a tecnologia móvel.
Esse é um tipo de computação pessoal que é pessoal como nunca antes. Ele
diz respeito a quem você é, para onde vai; tem informações sobre o que dizem
de você, o que faz, com quem fala, como se comunica com os seus amigos.
Mas a questão é se as pessoas seriam capazes de fazer um aplicativo.
Boa leitura!
8
INTRODUÇÃO
No dia a dia da maioria das pessoas, os dispositivos móveis (smartphones e tablets) estão cada vez
mais presentes e incorporados à sua rotina, o que mostra a importância da disciplina Programação para
Dispositivos Móveis.
Nesta disciplina, usamos o App Inventor, ferramenta que permite programar, ou melhor, montar
aplicativos bastante sofisticados utilizando os recursos embutidos nos aparelhos. Logicamente, o App
Inventor não foi projetado para programas específicos ou de alta performance, tanto em termos de
processamento quanto em termos gráficos, mas ele possibilita o uso de interfaces externas, bem como
a conectividade e a importação de extensão de terceiros.
Este livro-texto mostra a montagem de alguns aplicativos e jogos. Cada um deles é feito com o
objetivo de abordar conceitos, tecnologias ou práticas que envolvem o dia a dia da computação móvel,
relacionada com a área das ciências da computação e da informação.
Na unidade II, abordamos a identificação da demanda e a definição das características dos apps e
falamos sobre os testes dos aplicativos, incluindo editores de blocos e testes. Logo, a unidade II volta‑se
para a construção de aplicativos completos, que fazem a interação do mundo exterior de forma
transparente com o usuário, e para o estudo de técnicas não instintivas de programação.
Na unidade III, sobre planejamento de jogos, apresentamos a metodologia de game design document
(GDD), explicamos a criação de imagens e de designs para jogos, abordamos a pontuação, a tela de início,
o ranking, os créditos, a atribuição de ícone e título, a geração de arquivo APK, a distribuição do jogo e
a sua publicação na Play Store. Desse modo, a unidade III centra-se no planejamento e na construção
de jogos e avalia seu ciclo de vida, desde a ideia inicial até a publicação.
9
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Unidade I
Nesta unidade, veremos um pouco da história do App Inventor e suas opções de configuração.
Exploraremos o ambiente de trabalho, a interface com a máquina e os conceitos iniciais do processo
de programação.
Pedagogicamente, o App Inventor segue uma escola que começou com o trabalho de Seymour
Papert e do MIT Logo Group na década de 1960 (WOLBER et al., 2011), cuja influência persiste até hoje
por meio de muitas atividades, como o Scratch e os programas projetados para apoiar o pensamento
computacional, todos unindo computadores e educação.
Saiba mais
11
Unidade I
Para tornar a estrutura de programação visual próxima da estrutura do Scratch, mas sem “reinventar
a roda”, a implementação específica do App Inventor foi montada sobre a estrutura do Open Blocks.
Posteriormente, o próprio App Inventor serviu como ponto de partida para o Google Blockly (METZ, 2012).
Observação
Saiba mais
Em 2011, Abelson levou o App Inventor para o MIT e, juntamente com o Media Lab e o Laboratório de
Ciência da Computação e Inteligência Artificial (CSAIL), criou o Center for Mobile Learning. Em dezembro
de 2013, Abelson e sua equipe de desenvolvedores lançaram o MIT App Inventor 2, uma versão do
aplicativo baseada na web ainda mais fácil de usar e que utiliza um ambiente de desenvolvimento
integrado (KAMRIANI; ROY, 2016).
12
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Vamos começar
Não
Instale apenas
Sim
Pronto
13
Unidade I
• Obtenha uma conta do Gmail ou uma conta do celular Android (se ainda não tiver).
Para construir aplicativos com o App Inventor, você precisará de uma conta do Gmail. Se ainda não
tiver uma, no browser, visite o site http://mail.google.com e escolha o link para criar uma nova conta.
Será aberto o formulário de inscrição do Google. Siga as instruções para configurar sua conta.
O App Inventor é um exemplo de ambiente de desenvolvimento integrado (IDE), o que significa que
todas as ferramentas de software necessárias para projetar, desenvolver e testar um aplicativo móvel
Android estão integradas na plataforma App Inventor. IDEs são parte do kit de ferramentas-padrão que
os programadores usam para desenvolver programas.
14
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
que você acompanhe o progresso sem ter de construir o aplicativo e instalá-lo no dispositivo. Dessa
forma, a experiência será melhor com um dispositivo móvel Android, seja um tablet, seja um smartphone
conectado na mesma rede via Wi-Fi.
No caso de ter dispositivo móvel, será necessário instalar o aplicativo MIT AI2 Companion. Mesmo
sem a disponibilidade de Wi-Fi na mesma rede do computador, é possível utilizar a conexão via USB caso
tenha o drive correto do smartphone.
De qualquer forma, o aiStarter deve ser instalado no computador, como veremos adiante.
Como vimos, para entrar no App Inventor basta digitar appinventor.mit.edu e, ao ser aberta a tela de
boas-vindas do MIT App Inventor, clicar no botão Create Apps. Veja a figura.
Depois, abrirá a tela de login e senha, conforme mostrado na figura a seguir. Preencha tais requisições
com os dados da sua conta do Google.
15
Unidade I
No primeiro acesso, aparecerá a tela de contrato de termos de uso. Para aceitar, clique no botão
I accept the terms of service. Veja a figura.
Uma janela de boas-vindas será aberta. Marque a opção Do Not Show Again e clique no botão
Continue. Em seguida, abrirá a janela dos tutoriais. Para fechá-la, clique no botão Close. Veja a figura.
Independentemente de ser ou não o primeiro acesso, após a tela do tutorial, a primeira tela em inglês
será apresentada como mostrado na figura a seguir. Essa tela é chamada de My Projects. Neste momento,
a lista de projetos está vazia, porque estamos iniciando o curso, mas, conforme formos avançando, a lista
será preenchida.
16
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Neste momento, estamos prontos para explorar o ambiente de trabalho do App Inventor.
17
Unidade I
A primeira tela apresentada é a página Meus Projetos (My Projects), que contém os projetos
associados à conta Gmail. A tela da próxima figura apresenta uma lista com as informações de alguns
projetos que já foram criados. Nessa tela, temos também os botões para:
• publicar um aplicativo na Galeria dos usuários do App Inventor, a fim de compartilhar o projeto
com a comunidade dos desenvolvedores;
O último botão serve para recuperar um projeto que foi apagado acidentalmente. A barra superior de
menu disponibiliza outras funcionalidades – por exemplo, mudar o idioma para o português do Brasil,
como fizemos anteriormente.
Para iniciar, clique no botão Iniciar novo projeto. Assim, será aberta a janela para dar nome ao
projeto. Veja a figura.
18
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Desse modo, entramos na tela de edição e criação, que está inicialmente vazia. Veja a figura.
• a tela do Designer, interface gráfica do usuário (GUI) em que é criada a aparência do aplicativo (e
os componentes extras que o aplicativo necessite);
A navegação entre as interfaces é feita pelos botões localizados na parte superior direita da tela.
Veja a figura a seguir.
19
Unidade I
É no editor de blocos que se programa a lógica dos aplicativos e dos seus comportamentos. Nesse
editor, você verá todos os componentes que foram adicionados no editor de design. O editor de blocos
oferece uma interface de arrastar e soltar para programar o comportamento do aplicativo juntando
blocos semelhantes às peças de um quebra-cabeça. Veja a figura.
20
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Neste item, vamos realizar a instalação do emulador. Em primeiro lugar, o que é um emulador? É um
programa que serve para simular a experiência de executar um sistema operacional diferente dentro
de outro sistema de computador, como o Windows. No nosso caso, emulamos não só um sistema
operacional, mas também um celular Android.
Instalado o programa aiStarter no computador, instala-se o software App Inventor Setup. Ele faz
a comunicação entre o App Inventor que está sendo executado no navegador e outras partes do App
Inventor. Sempre que quiser usar o emulador ou o cabo USB, é preciso se certificar de que o aiStarter
está ativo. Esse programa permite que o navegador se comunique com o emulador ou com o cabo USB.
Você não precisa do aiStarter se estiver usando apenas o AI2 Companion com Wi-Fi.
Para instalar o emulador, é necessário retornar à página appinventor.mit.edu e escolher o link Get
Started ou, no menu superior, clicar em Resources e, depois, em Get Started. Veja a figura.
Na tela Getting Started, clique na opção Setup Instructions, em que será feita a escolha do tipo
de instalação. Veja a figura a seguir.
21
Unidade I
A Opção Um (Option One), recomendada, destina-se ao caso em que se tem um dispositivo Android.
Basta fazer uma busca na Google Play Store e instalar o aplicativo MIT AI2 Companion. Uma vez
instalado, execute a primeira vez e entre no aplicativo. Veja a figura.
Figura 17 – Instalação do AI2 Companion e liberação dos seus recursos no sistema operacional
22
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Lembrete
Ao clicar na opção Assistente AI, uma janela com um QR code e um código se abrirá. No dispositivo
móvel, selecione a opção scan QR code. Caso seja o primeiro acesso, será aberta uma janela no
dispositivo para autorizar que o AI2 Companion tire fotos e grave vídeos. Autorize isso clicando em
Permitir. Veja a figura.
23
Unidade I
Com isso, em princípio, já é possível começar a desenvolver projetos no App Inventor. Essa é a melhor
e a mais simples configuração para trabalhar com o App Inventor.
As configurações mostradas a seguir são alternativas à instalação feita. Por segurança, é aconselhável
deixar instalado o emulador para lidar com quaisquer problemas futuros.
Instalação: emulador
A partir da página de configuração, no quadro da Opção Três (Option Three), clique no link Instructions
para instalar o emulador. Veja a figura.
24
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Na página que abrir, clique no link Instructions for Windows, que está na guia Step 1. Install the
App Inventor Setup Software. Na página seguinte, estará o link para baixar o arquivo de instalação
do emulador. Veja a figura.
Na página seguinte, clique em Download the Installer e baixe o arquivo do instalador. Uma
vez baixado o programa, garanta que salvou tudo que estiver aberto e feche todos os outros
programas, pois o computador será reiniciado ao final do processo. Execute a instalação do arquivo
MIT_App_Inventor_Tools_x.x.x_win_setup.exe como administrador. Conforme as telas de instalação
forem se sucedendo, escolha o botão Next ou o botão I agree, conforme o caso. Na última tela, permita
fazer o Reboot Now, que é a reinicialização do computador, como mostrado na figura a seguir.
25
Unidade I
Com o computador devidamente reiniciado, o ícone do aiStarter deverá aparecer na área de trabalho
do seu computador. Ao dar um clique, o aiStarter já estará ativo para o uso. Nenhuma tela irá aparecer,
pois o software é executado em segundo plano. A indicação da sua atividade é o ícone na barra de
trabalho. Veja as figuras a seguir.
Observação
26
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Até a edição deste livro, o emulador interno do aiStarter tem vindo com o Companion desatualizado.
Dessa forma, é preciso um cuidado especial e um pouco de paciência e atenção. Não existe nada
crítico, mas a desatenção pode acarretar a necessidade de refazer todo o processo, o que resulta em
perda de tempo.
Uma vez ativado o aiStarter, abra o site do App Inventor e entre na tela do Designer. Nessa tela,
no menu superior, escolha Conectar e, no menu suspenso, Emulador. O item Conectar do menu
superior permite escolher o meio para acompanhar e simular em tempo real o aplicativo que está sendo
desenvolvido no App Inventor. No caso em que escolhemos o emulador, o App Inventor envia uma
mensagem ao servidor virtual que processa e ativa o emulador. Veja a figura.
Uma janela será aberta avisando que o processo irá demorar. Nesse momento, o emulador estará
sendo carregado e executado no computador. A indicação da execução do emulador é o ícone na barra
de trabalho. Veja as figuras.
27
Unidade I
Simultaneamente, no emulador, uma janela será aberta para permitir a troca do aplicativo por um
mais novo. Permita a troca dando um clique no botão OK e, depois, no botão Install. Veja a figura.
28
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Conforme o aviso dado, quando for informado que a aplicação está instalada, deve-se clicar no
botão Done. Veja a figura.
Figura 33 – É importante clicar em Done quando a aplicação estiver sendo instalada pela primeira vez
29
Unidade I
Neste momento, é importante estudar a diferença entre as opções Reiniciar a Conexão e Reiniciar
Conexões. Deve-se tomar muito cuidado, pois a segunda opção (Reiniciar Conexões) restaura o aiStarter
para a condição inicial. Isso significa que toda a atualização realizada no AI Companion será perdida.
A primeira opção (Reiniciar a Conexão), diferentemente, apenas encerra o emulador.
Reiniciada a conexão, abra novamente o emulador e espere a tela para a instalação do novo emulador.
Não se preocupe com a tela avisando o tempo para abrir o emulador.
Por diversas vezes, conforme a velocidade da conexão da internet, a página do App Inventor poderá
apresentar aviso de falha de conexão. Nesse caso, clique no botão Keep Trying (Continue Tentando).
Veja as figuras a seguir.
30
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Esse processo pode ser demorado e acidentado, mas a instalação é cumulativa. Isso significa que
aquilo que já foi baixado no emulador não será perdido. Muitas vezes, a tela do emulador poderá
apresentar mensagens de erro. Caso erros apareçam na tela do emulador, reinicie a conexão, espere o
emulador fechar e abra-o novamente, enquanto a instalação é retomada. Se a internet for adequada,
não deverá acontecer nenhum problema.
Ao terminar a instalação, a mesma tela mostrada antes reaparece, mas com o aplicativo instalado
(“Application installed”). Assim, pode-se acionar o botão Open. Veja a figura.
Assim, o emulador estará pronto para uso com a tela em branco. Veja a figura a seguir.
31
Unidade I
Em caso de uso do cabo USB para conectar com o computador, a instalação do aiStarter é a mesma.
No dispositivo, é preciso permitir a depuração do USB. Para isso, é necessário seguir estes passos:
• Entre na configuração.
Neste momento será ativado o modo desenvolvedor no dispositivo. Assim, é possível concluir a
sequência de passos com as opções a seguir:
• avançado;
• opções de desenvolvedor;
32
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Se tudo estiver certo, deverá aparecer a mensagem “YES, aiStarter […] running”. Veja a figura.
Caso o dispositivo esteja conectado por meio do cabo USB, aparecerá a mensagem “YES, your phone
is connected via USB”. Veja a figura.
33
Unidade I
Um problema comum em redes muito fechadas está nas portas fechadas. O App Inventor utiliza a
porta 5554. Portanto, ela deve estar aberta.
2 DESIGNER
Vamos estudar a estrutura interna do App Inventor para compreender como projetar os aplicativos.
A melhor maneira de descrever a construção de um aplicativo é separá-lo em duas partes: seus
componentes e seus comportamentos. No App Inventor, as janelas Designer correspondem ao projeto
dos objetos (componentes) do aplicativo, e o editor de blocos corresponde à programação de como o
aplicativo responde ao usuário e aos eventos externos (comportamento do aplicativo). Veja a figura.
App
Componente Comportamento
Manipulador de eventos
Respostas a
Visíveis Não visíveis Evento uma série
de chamadas
– Botão – SensorDeLocalização – botão.Clique de função
– Caixa de texto – TextoParaFalar – pintura.ToqueParaCima
– ToqueOSom
– Rótulo – Temporizador – bola.ColidiuCom
– Bola
– Bola
– EnviarMensagem
Neste item do livro-texto, vamos estudar a interface do ramo dos componentes, ou seja, o
modo Designer.
• componentes visíveis;
Os componentes visíveis do aplicativo são aqueles que você pode ver quando o aplicativo é iniciado:
botões, caixas de texto e rótulos. Também podem ser chamados de interface do usuário.
Os componentes não visíveis são aqueles que você não pode ver. Portanto, eles não fazem
parte da interface do usuário; funcionam nos “bastidores” do aplicativo. Eles dão funcionalidade
aos componentes integrados do dispositivo. Por exemplo, o componente SensorDeLocalização
34
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Ambos os tipos de componente, visíveis e não visíveis, são definidos por um conjunto de propriedades.
Propriedades são espaços de memória para armazenar informações sobre o componente. Componentes
visíveis, como botões e rótulos, têm propriedades como largura, altura e alinhamento, que definem
sua aparência.
As propriedades dos componentes são campos que podem ser alterados no Designer para definir sua
aparência inicial. Você também pode alterar os valores com a montagem dos blocos.
2.1 Janelas
A tela do Designer está dividida em cinco janelas, descritas a seguir e mostradas na próxima figura.
• Visualizador: mostra como será o aplicativo. Ele é usado para projetar a interface do usuário
do aplicativo e como ela será apresentada no dispositivo. Os componentes da Paleta podem ser
colocados no Visualizador. Se o componente for visível, ele será colocado na tela do smartphone
e ficará visível para o usuário. Se o componente não for visível, ele será colocado logo abaixo
do Visualizador.
• Mídia: exibe os arquivos de mídia carregados adicionalmente para uso do aplicativo, como
imagens e sons.
35
Unidade I
2 4
As janelas estão conectadas. Uma peça arrastada da Paleta para o Visualizador automaticamente
ocupa o seu lugar na árvore da janela Componentes, e a janela Propriedades é preenchida com os dados
do componente. Veja a figura.
Árvore de
componentes vazia
Tela vazia
36
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
2.1.1 Paleta
A Paleta inclui componentes de interface do usuário, aqueles que aparecem na tela do dispositivo.
Os componentes são as peças do seu aplicativo que executam ações para você. O ponto inicial de tudo
que será utilizado no aplicativo é a Paleta, pois é nela que estão todos os componentes.
Na figura a seguir, é possível ver a região da tela denominada Paleta, em que encontramos itens
que podem ser adicionados à tela. A Paleta está subdividida em categorias, conforme indicado no
próximo quadro.
Guia Finalidade
Contém componentes visíveis com os quais o usuário pode interagir,
Interface de Usuário como botão, rótulo e imagem
Contém componentes de layout que são usados para organizar
Organização os componentes
Contém componentes não visíveis, como câmera, filmadora,
Mídia SoundRecorder e TextToSpeech
Desenho e Animação Contém componentes que podem ser usados para animação
Permite a inclusão de mapas para possibilitar ao usuário do aplicativo
Maps interagir com eles
Inclui componentes que podem se comunicar com os sensores Android,
Sensores como bússola e acelerômetro
37
Unidade I
Guia Finalidade
Social Inclui componentes sociais, como mensagens de texto e Twitter
Contém recursos de armazenamento para a leitura ou para
Armazenamento a gravação de dados
Inclui componentes para a conexão com a web ou com outros
Conectividade aplicativos; nesta área, o programador pode adicionar as funções
relacionadas ao bluetooth do smartphone
Inclui componentes que permitem criar uma relação entre o aplicativo
Lego® Mindstorms® e os equipamentos da Lego, que fornecem controle de robôs Lego
Mindstorms NXT
Por enquanto, inclui recursos de armazenamento de dados na internet,
Experimental ainda em caráter experimental
Permite incluir funções desenvolvidas por outros programadores ao
Extension aplicativo, como a barra deslizante de menu
Os dois principais grupos da Paleta que têm componentes visíveis são a Interface de Usuário e
a Organização. Veja a figura.
38
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
No quadro a seguir, temos as funções e as imagens dos componentes da Interface de Usuário. Alguns
componentes ativam outras telas. Temos um componente não visível, o Notificador, que é mostrado
apenas por meio da ação dos blocos.
Componente para
Imagem exibição de imagens e
animações básicas
Mostra um
Deslizador controle deslizante
39
Unidade I
O componente tem um
estado ligado (verdadeiro) e
um estado desligado (falso);
Switch também gera um evento
quando o usuário o toca
para alternar entre
os estados
Os usuários inserem texto
CaixaDeTexto por este componente
Componente para
NavegadorWeb visualização de páginas
da web
Organizador Função
Exibe um grupo de componentes dispostos da
OrganizaçãoHorizontal esquerda para a direita
HorizontalScrollArrangement Faz a OrganizaçãoHorizontal com barra deslizante
OrganizaçãoEmTabela Exibe um grupo de componentes de forma tabular
Exibe um grupo de componentes dispostos de cima
OrganizaçãoVertical para baixo
VerticaIScrollArrangement Faz a OrganizaçãoVertical com barra deslizante
Os arranjos ou organizadores exigem um pouco de atenção para o bom entendimento do seu uso.
Por exemplo, na figura a seguir, temos uma OrganizaçãoHorizontal com um botão, uma caixa
de seleção e um switch colocados no seu interior. Na janela Componentes, temos a Screen1,
que é a tela do nosso dispositivo. Dentro dela, temos uma OrganizaçãoHorizontal e, dentro dessa
OrganizaçãoHorizontal, temos um botão, uma caixa de seleção e um switch.
A altura da OrganizaçãoHorizontal está ajustada ao botão, que é o elemento mais alto, e os três
estão alinhados ao topo. Veja a figura.
Ao trocar a propriedade Altura do botão, temos um resultado em princípio inesperado. Veja a figura.
41
Unidade I
42
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
No grupo Desenho e Animação estão os componentes que permitem a interação dinâmica do usuário
com a tela para fazer jogos.
43
Unidade I
44
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
45
Unidade I
46
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
47
Unidade I
2.1.2 Visualizador
48
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
2.1.3 Componentes
A janela Componentes também permite o acesso rápido aos objetos. Ao dar um clique, o objeto
ficará selecionado também nas janelas do Visualizador e das Propriedades.
49
Unidade I
• ajuda outros programadores a ler e a entender nosso código, principalmente em projetos colaborativos;
• facilita a identificação dos objetos dentro do conjunto do aplicativo, seja na árvore de componentes,
seja na tela de blocos.
Para realizar o procedimento, basta escolher o componente e clicar no botão Renomear, que abrirá
o notificador da figura.
2.1.4 Mídia
As mídias não são componentes propriamente ditos, mas anexos externos que são associados como
propriedades dos componentes. Esses anexos são arquivos de áudio, foto e vídeo. Veja a figura.
�
Figura 56 – Sequência para a inserção de mídia
50
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Saiba mais
2.1.5 Propriedades
A janela Propriedades permite definir diferentes propriedades para os componentes, como altura,
largura, cor, texto e fundo. Quando qualquer componente é adicionado ao projeto ou é selecionado
na janela Componentes, suas respectivas propriedades são mostradas na janela Propriedades. Essas
propriedades podem ser configuradas de acordo com o requisito.
As propriedades são slots (espaços) de memória para armazenar informações sobre os objetos.
Objetos visíveis, por exemplo, têm grandezas, como altura e largura, ou características, como cor e
alinhamento, que em conjunto definem como eles aparecem na tela. Veja a figura.
51
Unidade I
Cada uma das propriedades pode ser alterada no editor de blocos durante a execução do aplicativo.
Portanto, as propriedades são apenas as condições iniciais do aplicativo.
Vamos mostrar detalhadamente a construção de uma tela semelhante a uma tela que já fizemos.
Um novo projeto deve ser criado no App Inventor. Na tela Meus Projetos, clique no botão Iniciar
novo projeto e batize o projeto como Exercicio01 (ou use um nome alternativo). Veja a figura.
52
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Na janela Propriedades, altere a largura da organização para 100%. Os dispositivos móveis não têm
tamanho de tela padronizada; vão desde pequenos celulares até grandes tablets. Assim, a formatação
deve ser flexível (dada por um percentual do tamanho da tela). Colocar um botão ou um componente
fixo em um ponto da tela de um dispositivo não significa que isso ficará esteticamente melhor. Dessa
forma, o importante é trabalhar com proporções. Veja a figura.
100%
Para entender o funcionamento das dimensões relativas, temos nas Propriedades o seguinte:
Automático, Preencher principal, pontos e percentagem. Veja o quadro.
Referência Finalidade
Automático Ajusta ao conteúdo
Ajusta ao espaço livre em relação
Preencher principal ao componente imediatamente pai
pontos Tamanho fixo em pixels
Percentual em relação ao tamanho
percentagem da tela do dispositivo
A altura também precisa ser alterada para 100%. Assim, a OrganizaçãoVertical ocupará todo o
fundo da tela do dispositivo, conforme se vê na figura.
53
Unidade I
100%
54
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Nos dois organizadores horizontais, faça a alteração das dimensões. Veja o quadro.
Para alterar as propriedades dos componentes, basta clicar no objeto na janela Componentes,
conforme mostra a figura a seguir.
55
Unidade I
Na metade superior, queremos ter uma foto do lado esquerdo e duas fotos dispostas verticalmente
do lado direito. Já temos a imagem do lado esquerdo. Para colocarmos as duas fotos na vertical, é
necessário colocar um organizador vertical do lado direito. Assim, arraste uma OrganizaçãoVertical para
o lado direito da Imagem1. Altere as propriedades da dimensão. Veja as figuras e o quadro a seguir.
56
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Feitas as configurações apontadas, o projeto estará pronto. Na figura a seguir, vê-se a situação
do projeto. Observe a janela Componentes e a árvore da hierarquia das organizações e das imagens.
57
Unidade I
3 BLOCOS
É no editor de blocos que são programados a lógica dos aplicativos e seu comportamento. Nesse
editor, estão presentes todos os componentes que foram adicionados no Designer.
Assim como o Designer, o editor de blocos oferece uma interface de arrastar e soltar. Nesse caso, para
programar o comportamento do aplicativo, juntam-se blocos, de maneira semelhante ao que fazemos
em um quebra-cabeça.
Saiba mais
58
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Os blocos do App Inventor incorporam a mesma lógica de programação que seria usada na escrita do
código em ambientes baseados em texto. Isso significa que os conceitos de programação aqui utilizados
serão úteis futuramente na codificação nas linguagens tradicionais.
A programação por blocos segue uma sequência linear de comandos de cima para baixo, e cada
bloco executa uma ação. Veja a figura.
Comando 1
Comando 2
Comando 3
Comando 4
Assim, os blocos são a linguagem de programação do App Inventor. Os encaixes horizontais são
feitos para a passagem de valores. O resultado do bloco da direita é passado para o bloco da esquerda
pelo encaixe. Veja a figura.
A maioria dos blocos tem formato estático, ou seja, sua forma não pode ser alterada. Mas existem
alguns blocos que são mutantes, isto é, sua forma pode variar sem perder o seu conceito básico.
Conforme mostrado na figura a seguir, os blocos mutantes têm um ícone azul.
59
Unidade I
Ícone do
comutador
O estilo de programação do App Inventor é, muitas vezes, chamado de programação dirigida por
eventos (WOLBER et al., 2011). Isso significa que a execução dos aplicativos e das funções é baseada em
reações a eventos.
Observação
Conforme os eventos ocorrem, o aplicativo reage, chamando uma sequência de funções. Vale notar
que funções são ações que você pode executar com um ou mais componentes. Podem ser operações do
tipo enviar um texto SMS ou operações do tipo alterar uma propriedade (como alterar o texto em um
rótulo da interface do usuário). Um conjunto de funções é executado em resposta ao manipulador de
eventos. Veja a figura.
61
Unidade I
Os eventos não são iniciados necessariamente pela ação do usuário final. Um aplicativo pode:
• reagir a eventos que acontecem dentro do dispositivo, como alterações em seu sensor de
orientação e no relógio (ou seja, temporizadores);
• responder a eventos com origem externa ao dispositivo, como uma mensagem de texto, uma
chamada recebida de outro telefone ou a chegada de dados da web.
Satélite
GPS
Sensores
Web
Usuário
Relógio
Outros
dispositivos
Figura 74 – O aplicativo pode responder tanto a eventos internos quanto a eventos externos
Conforme vimos, a programação segue, sequencialmente, de cima para baixo. Vamos usar esse
conceito de programação como comportamento. No caso do App Inventor, todo comportamento sempre
é iniciado por um evento. Veja a figura.
Evento
Comando 1
Comando 2
Comando 3
Comando 4
62
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Um aplicativo, então, é uma coleção de comportamentos que são acionados por eventos. Veja a figura.
Evento 2
Evento 1 Comando 1
Comando 1 Comando 2
Evento 3
Comando 2 Comando 3
Comando 1
Comando 3
Comando 2
Comando 4
Comando 3
Comando 4
Evento 61 Evento 14
Evento 1
Comando 1 Comando 1
Comando 1
Comando 2
Comando 2
Evento 14
Comando 3
Comando 1
Comando 4
Comando 2
O App inventor tem cinco tipos de evento. Como dito anteriormente, não é somente o usuário que
inicia um evento. Antes de começar a colocar os blocos, é interessante saber mais sobre esses eventos.
Uma maneira fácil de procedermos a esse entendimento é pensando em termos de exemplos, como
mostrado no quadro a seguir.
63
Unidade I
Eventos iniciados pelo usuário são os tipos mais comuns. Veja a figura.
O conjunto de blocos da figura, ao receber o evento acionado pelo usuário (clique no botão), executa
sequencialmente os dois blocos internos.
Evento de inicialização
Situações como a leitura de senha e a verificação de dados do usuário cadastrados necessitam ser
conferidas sempre que o aplicativo for acionado.
Na figura, temos o bloco que captura o evento disparado quando a Screen1 é aberta.
Evento de timer
64
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Evento de animação
Os eventos de animação correspondem a atividades que envolvem objetos gráficos (sprites) dentro
de telas para acioná-los. Veja a figura.
Na figura, temos um dos blocos de eventos gráficos. Choques, interação entre cores e posicionamentos
dentro da tela de pintura geram eventos de animação.
Evento externo
Os eventos externos são atividades iniciadas por uma mensagem, uma ligação, uma resposta da
internet etc. Veja a figura.
Na figura anterior, o bloco somente será executado se uma mensagem de texto for recebida.
Como vimos em item anterior, o acesso à tela do editor de blocos é feito ao darmos um clique no
botão Blocos no canto superior direito da tela. A tela é composta por três janelas, indicadas a seguir.
• Blocos. Disponibiliza os blocos internos e os blocos das ações e respostas dos componentes
utilizados no Designer.
65
Unidade I
• Visualizador. É a área de trabalho em que os blocos são montados. Nele, destacam-se a lata de
lixo, em que são descartados os blocos desnecessários, e a mochila, em que são armazenados
blocos para o compartilhamento entre projetos.
Observe a figura.
Blocos internos
Os blocos internos são adicionados para alterar os comportamentos gerais do seu aplicativo. Para
isso, arraste-os para o visualizador de blocos e responda ao seu evento correspondente. Veja a figura.
Os blocos internos estão divididos em grupos segundo suas características, como na Paleta
do Designer.
No grupo Controle estão os blocos que alteram o fluxo do programa, conforme o quadro a seguir.
66
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
67
Unidade I
abrir outra tela com valor inicial Abre outra tela e passa um valor para ela
Por uma questão de organização, veremos o grupo Variáveis antes dos outros.
68
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Define-se uma variável quando seu aplicativo precisa lembrar algo que não está sendo
armazenado dentro de uma propriedade de componente.
No próximo exemplo, duas variáveis (pontos e incremento) são criadas e inicializadas com os
seus valores. Depois, o conteúdo dessas variáveis é somado, e o resultado é armazenado na variável
pontos. Veja a figura.
Em comparações lógicas, podem ser feitas operações. Os blocos do grupo interno Lógica fazem
comparações e geram como resultado verdadeiro ou falso. Veja o quadro.
69
Unidade I
As operações lógicas obedecem a regras comuns. Essas regras são chamadas de tabela-verdade.
A operação negação utiliza o bloco “não” e inverte o valor dos resultados lógicos. Como vemos
na figura a seguir, caso a condição seja não falsa (isto é, verdadeira), será executada a ação do
então, apresentando, na Legenda1, Verdadeiro. Caso a condição seja não verdadeira (isto é, falsa),
será executará a ação do senão, apresentando, na Legenda1, Falso.
O operador “e” resulta em verdadeiro apenas quando todos os seus operandos forem verdadeiros.
Veja a figura.
70
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
O operador “ou” resulta em verdadeiro quando qualquer um dos operadores for verdadeiro.
Veja a figura.
Vamos montar um simples teste para verificar as operações lógicas. Analisaremos algumas condições
de sobrevivência entre um super-herói e um ser humano normal. Para montar esse simples exemplo,
siga os passos mostrados no quadro a seguir.
71
Unidade I
Na tela do editor de blocos, efetue a montagem dos blocos, conforme o que se vê no quadro.
Uma vez editados os blocos, o visualizador se apresenta como mostrado na figura a seguir.
72
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Para fazermos o teste, podemos utilizar tanto o emulador quanto o AI2 Companion.
Na atual configuração, ao darmos um clique no botão da tela, o resultado é Morreu. Isso significa
que a pessoa que levou um tiro (verdadeiro) e uma facada morreu. Veja a figura.
Dessa forma, alterando a inicialização das variáveis, podemos montar este quadro.
73
Unidade I
Repetindo as alterações da inicialização das variáveis, porém mudando a operação para “ou”,
obtemos o quadro a seguir.
No nosso exemplo, no caso do “e”, a condicional pode ser utilizada para super-heróis que, para
morrer, precisam que ambas as condições aconteçam, ou seja, tomar facada e tomar tiro.
No exemplo, o “ou” se aplica ao caso de um personagem comum. Basta tomar ou uma facada
ou um tiro que ele é abatido.
As funções matemáticas são blocos para montar expressões. Como há muitas funções, somente
as principais e alguns blocos matemáticos são menus suspensos e podem ser convertidos em
diferentes blocos. Veja o quadro.
Operações +-×÷
aritméticas
74
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Potenciação ab
Funções matemáticas
Funções
trigonométricas
75
Unidade I
Conversão
computacional
Os blocos de texto servem para manipular elementos textuais, ou seja, cadeias de caracteres
(letras, números ou símbolos). No App Inventor, os textos são considerados objetos. Veja o quadro.
76
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Listas são um tipo de estrutura de dados usado em todas as linguagens de programação, não
apenas no App Inventor. Elas são empregadas para criar e manipular diferentes conjuntos de valores
e seus elementos. Por exemplo, um jogo pode manter uma lista de pontuações mais altas, e seu
aplicativo do Facebook mantém uma lista de seus amigos. Para facilitar o acesso a um elemento
da lista, utilizamos o índice. No App Inventor, o primeiro elemento em uma lista é o índice 1. Na
figura a seguir, a tem o índice 1, b tem o índice 2 e c tem o índice 3. Isso significa que podemos
fazer referência a um elemento específico dentro de nossa lista se soubermos qual índice ele possui
e qual é o nome da lista.
a
Lista 1
b
c
77
Unidade I
Para a criação e a manipulação das listas, temos as referências dos blocos mostradas no quadro
a seguir.
78
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
79
Unidade I
definir valor para o Atualiza o valor em um key path específico em uma estrutura
caminho da chave de dados
listar pelo percurso Atua de forma semelhante ao get value at key path, mas
do caminho da chave cria uma lista de valores em vez de retornar um único valor.
do dicionário ou Funciona começando no dicionário fornecido e descendo a
da lista árvore de objetos, seguindo o caminho fornecido
É um bloco especializado que pode ser usado no caminho da
andar por todo chave de list by walking key path. Quando encontrado durante
o nível uma caminhada, ele faz com que todos os itens daquele nível
sejam explorados
80
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
O App Inventor faz a manipulação de cores armazenando cada cor como um único número. Esse
número é formado pela combinação das cores vermelho, verde e azul em termos de intensidade
entre 0 e 255. Para simplificar, o App Inventor oferece uma série de blocos com as cores básicas. Os
blocos relativos a cores estão no quadro.
81
Unidade I
Vamos criar uma calculadora simples que faça as quatro operações básicas da aritmética.
Vamos alterar a imagem de fundo e o título do aplicativo seguindo os passos que aparecem na tela.
Veja o quadro e a figura a seguir.
A inserção de novos componentes ocorrerá sempre na parte superior esquerda da área de visualização.
82
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Uma vez montada a primeira OrganizaçãoHorizontal, temos o layout mostrado na figura a seguir.
Abaixo do cabeçalho será colocado o campo para a leitura do primeiro número. Veja o quadro
a seguir.
83
Unidade I
84
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Repita o procedimento para a criação de outra legenda para a entrada de outro número. Renomeie
a segunda CaixaDeTexto de Txt_n2. Veja o quadro.
85
Unidade I
86
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
87
Unidade I
Observe a figura.
Na figura, temos a tela do design pronto. Observe a janela Componentes e a sua disposição.
A importância de renomear os componentes pode ser vista no caso dos botões das operações. Caso não
tivessem sido renomeados, eles seriam Botão1, Botão2, Botão3 e Botão4, o que dificultaria identificar
as funcionalidades deles na programação.
Vamos agora acessar o editor de blocos. Utilizaremos duas variáveis, cada uma para receber o valor
(conteúdo) de cada número que será digitado na caixa de texto. Elas serão inicializadas com o valor zero.
Observação
Uma vez montadas as variáveis, chegamos ao coração do programa, que é a resposta do aplicativo
ao clique nos botões das operações.
Na janela de blocos, abaixo dos internos, está uma reprodução exata da árvore da janela Componentes.
Nela estarão os botões e, como estão renomeados, é muito fácil localizar o botão desejado. Vamos
editar o botão de soma (Btn_Soma). Ao clicarmos sobre ele, irão aparecer todos os blocos pertinentes a
eventos sobre esse botão.
Arrastamos para o Visualizador a operação relacionada ao evento de clicar sobre o botão. Veja a figura.
89
Unidade I
Nesse espaço, os valores digitados nas caixas de texto Txt_n1 e Txt_n2 serão armazenados
nas variáveis numero1 e numero2 respectivamente. Depois, a legenda Lbl_resultado receberá o
resultado da operação aritmética entre numero1 e numero2, exibindo imediatamente o resultado.
Veja o quadro.
Preencher o 1º
8 Variáveis obter numero1
operador de +
Preencher o 2º
9 Variáveis obter numero2
operador de +
O editor permite alguns atalhos na edição. No bloco montado, ao darmos um clique com o
botão direito do mouse, abre-se uma aba com opções. Veja a figura a seguir.
90
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Ao duplicarmos, todo o bloco será copiado e será apresentado um erro, pois um botão está tratando
o mesmo evento. Para corrigir, basta alterarmos o nome do objeto para Btn_Sub. Veja a figura.
No novo bloco, deve ser corrigida a operação aritmética. O bloco excedente pode ser descartado.
Veja a figura.
A mesma estratégia pode ser feita para os botões Btn_Mult e Btn_Div. Veja a figura a seguir.
91
Unidade I
4 TESTE DE APP
Para testar o aplicativo, conectaremos o AI2 Companion via Wi-Fi. Assim que o dispositivo sincronizar,
veremos a tela inicial com os campos em branco e o valor do resultado em branco. No topo da tela, a
identificação “As 4 operações”, não o tradicional Screen1, é a consequência da alteração da propriedade
Título do componente Screen1.
Lembrete
92
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Veja as figuras.
93
Unidade I
Resumo
94
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Exercícios
Questão 1. Existem diversas formas de utilizarmos o MIT App Inventor para o desenvolvimento de
aplicativos para celulares. Nesse contexto, avalie as afirmativas a seguir.
II – A criação de projetos e de programas para celulares é feita por meio de um aplicativo que executa
na nuvem, acessado diretamente dos navegadores de internet, como o Google Chrome ou o Firefox.
III – Caso se disponha de um celular com o sistema operacional Android, é possível instalar nele o
aplicativo MIT AI2 Companion. Se esse dispositivo estiver conectado a uma rede sem fio, e se ela for
a mesma rede na qual o computador utilizado para o desenvolvimento estiver conectado, é possível
conectar o computador diretamente ao celular e testar o programa em desenvolvimento por meio da
opção Assistente AI.
A) I, apenas.
B) II, apenas.
C) III, apenas.
D) I e III, apenas.
E) II e III, apenas.
I – Afirmativa incorreta.
Justificativa: a instalação do emulador não é sempre necessária, uma vez que podemos executar o
programa diretamente no celular por meio do aplicativo MIT AI2 Companion.
II – Afirmativa correta.
Justificativa: uma das grandes vantagens do MIT App Inventor é que a sua interface de desenvolvimento
é acessada diretamente pelo navegador, não sendo necessária a realização de uma instalação local.
Com isso, amplia-se a gama de dispositivos que podem ser utilizados para o desenvolvimento de
aplicativos e jogos.
95
Unidade I
Justificativa: uma das vantagens em se utilizar o MIT AI2 Companion é que é possível testar o
programa diretamente no celular durante o seu desenvolvimento. Isso facilita a programação e possibilita
o desenvolvimento em máquinas mais antigas e limitadas, que poderiam não ser capazes de executar
um emulador com o Android.
Questão 2. Considere o programa feito no MIT App Inventor mostrado na figura a seguir.
Figura 106
Com base no programa e nos seus conhecimentos, avalie as afirmativas.
I – Quando o usuário clicar no Botão1, a propriedade Texto da CaixaDeTexto1 será modificada para
o valor contido na propriedade Texto do componente Legenda4.
II – Quando o usuário clicar no Botão1, a propriedade Texto da CaixaDeTexto2 será modificada para
o valor contido na propriedade Texto do componente Legenda4.
III – Quando o usuário clicar no Botão1, a propriedade Texto do componente Legenda4 será
modificada para a soma dos valores obtidos das propriedades Texto dos componentes CaixaDeTexto1 e
CaixaDeTexto2.
A) I, apenas.
B) II, apenas.
C) III, apenas.
D) II e III, apenas.
E) I, II e III.
I – Afirmativa incorreta.
Justificativa: a propriedade Texto da CaixaDeTexto1 não será modificada, apenas terá o seu valor lido
para a realização do cálculo.
96
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
II – Afirmativa incorreta.
Justificativa: a propriedade Texto da CaixaDeTexto2 não será modificada, apenas terá o seu valor lido
para a realização do cálculo.
97