Este tutorial completo guiará você, passo a passo, na criação de um aplicativo Android simples para calcular o Índice de Massa Corporal (IMC) usando o MIT App Inventor 2.
O que o aplicativo fará:
- Terá uma única tela.
- Solicitará ao usuário sua altura em centímetros (cm).
- Solicitará ao usuário seu peso em quilogramas (kg).
- Calculará e exibirá o IMC do usuário quando um botão for pressionado.
Fórmula do IMC: Peso (kg) / (Altura (m) * Altura (m))
- Acesse o App Inventor: Abra seu navegador e vá para o site MIT App Inventor 2.
- Faça Login: Você precisará de uma conta Google para fazer login.
- Inicie um Novo Projeto:
- Clique em "Create Apps!".
- No menu superior, vá em "Projects" > "Start new project...".
- Dê um nome ao seu projeto, por exemplo:
CalculadoraDeIMC. (Não use espaços ou caracteres especiais).
Agora vamos adicionar os elementos visuais que o usuário verá. Estamos na aba "Designer".
Para manter nosso aplicativo centralizado e organizado, usaremos um componente de layout.
- Na paleta "Layout" (à esquerda), arraste um "VerticalArrangement" para a tela (o "Viewer").
- Com o
VerticalArrangement1selecionado, vá ao painel "Properties" (à direita):- Defina
AlignHorizontalcomo "Center". - Defina
AlignVerticalcomo "Center". - Defina
Heightcomo "Fill Parent...". - Defina
Widthcomo "Fill Parent...".
- Defina
Isso garante que tudo o que colocarmos dentro dele ficará centralizado na tela.
Arraste os seguintes componentes da paleta "User Interface" para dentro do VerticalArrangement que você acabou de adicionar:
- Label (Rótulo da Altura):
- Arraste um
Label. - Em "Properties", mude o
Textpara: "Digite sua altura (em cm):".
- Arraste um
- TextBox (Caixa de Texto da Altura):
- Arraste um
TextBox. - Em "Properties", marque a opção
NumbersOnly(Isso impede o usuário de digitar letras). - No campo
Hint, digite:Ex: 175. (O Hint é um texto de exemplo que desaparece quando o usuário digita). - Importante: Renomeie este componente. Selecione-o, clique em "Rename" (abaixo do painel "Components") e mude o nome para
TextBoxAltura.
- Arraste um
- Label (Rótulo do Peso):
- Arraste outro
Label. - Mude o
Textpara: "Digite seu peso (em kg):".
- Arraste outro
- TextBox (Caixa de Texto do Peso):
- Arraste um
TextBox. - Marque a opção
NumbersOnly. - No
Hint, digite:Ex: 70. - Renomeie este componente para
TextBoxPeso.
- Arraste um
- Button (Botão de Cálculo):
- Arraste um
Button. - Mude o
Textpara: "Calcular IMC". - Renomeie este componente para
BotaoCalcular.
- Arraste um
- Label (Rótulo do Resultado):
- Arraste um último
Label. - Mude o
Textpara: "Seu IMC aparecerá aqui". - Você pode aumentar o
FontSize(Tamanho da Fonte), por exemplo, para20.0. - Renomeie este componente para
LabelResultado.
- Arraste um último
Ao final, sua tela no "Designer" deve parecer com isto:
+-------------------------------------+
| |
| Digite sua altura (em cm): |
| [ Ex: 175 ] |
| |
| Digite seu peso (em kg): |
| [ Ex: 70 ] |
| |
| [ Calcular IMC ] |
| |
| Seu IMC aparecerá aqui |
| |
+-------------------------------------+
Agora vamos fazer o aplicativo funcionar. Clique no botão "Blocks" no canto superior direito da tela.
Queremos que o cálculo aconteça quando o usuário clicar no botão.
- No painel "Blocks" (à esquerda), clique em
BotaoCalcular. - Arraste o bloco
when BotaoCalcular.Click dopara a área de trabalho.
Tudo o que colocarmos dentro desse bloco Click será executado quando o botão for pressionado.
Lembre-se da fórmula: Peso / (Altura * Altura). Importante: A altura na fórmula deve estar em metros, mas o usuário a digita em centímetros. Portanto, precisamos dividir a altura por 100 antes de usá-la.
IMC = TextBoxPeso.Text / ( (TextBoxAltura.Text / 100) * (TextBoxAltura.Text / 100) )
Vamos construir isso com blocos:
- Clique em
LabelResultado(no painel "Blocks") e arraste o blocoset LabelResultado.Text to. Encaixe-o dentro do blocowhen BotaoCalcular.Click. - Agora, precisamos construir a fórmula. Ela pode ficar com muitos decimais, então vamos formatar o resultado para ficar mais bonito.
- Vá em "Built-in" > "Text" e arraste um bloco
join. Encaixe-o noset LabelResultado.Text to. - No bloco
join, clique na engrenagem azul para adicionar mais umstring(totalizando 2). - No primeiro espaço do
join, vá em "Text" e arraste um bloco de texto (o que tem aspas vazias). Digite nele:Seu IMC é:(com um espaço no final). - No segundo espaço do
join, vamos colocar o resultado formatado. Vá em "Built-in" > "Math" e arraste o blocoformat as decimal. - No bloco
format as decimal, no campoplaces, vá em "Math" e arraste um bloco de número (o que tem um0). Mude o valor para2. (Isso limitará o resultado a 2 casas decimais). - No campo
numberdoformat as decimal, vamos finalmente colocar a fórmula. - Vá em "Math" e arraste o bloco de divisão
/. - No primeiro espaço da divisão (numerador), vá em
TextBoxPesoe arraste o blocoTextBoxPeso.Text. - No segundo espaço da divisão (denominador), vá em "Math" e arraste o bloco de multiplicação
*. - Agora precisamos dos dois termos da altura em metros:
(Altura / 100). - Para o primeiro campo da multiplicação, arraste outro bloco de divisão
/(de "Math").- No numerador, coloque
TextBoxAltura.Text. - No denominador, coloque um bloco de número
100(de "Math").
- No numerador, coloque
- Para o segundo campo da multiplicação, faça o mesmo: arraste um bloco de divisão
/, coloqueTextBoxAltura.Textno numerador e100no denominador.
Pronto! Seus blocos finais devem se parecer com esta estrutura lógica:
when BotaoCalcular.Click do
set LabelResultado.Text to
join
"Seu IMC é: "
format as decimal
number:
(TextBoxPeso.Text) / ( ((TextBoxAltura.Text) / (100)) * ((TextBoxAltura.Text) / (100)) )
places: 2
A melhor forma de testar é usando seu próprio celular Android:
- Instale o App "MIT AI2 Companion": Baixe-o da Google Play Store.
- No App Inventor (computador):
- Clique no menu "Connect".
- Selecione "AI Companion".
- No Celular:
- Abra o app AI2 Companion.
- Clique em "Scan QR Code" e aponte para o código QR que apareceu no seu computador.
- Magicamente, o aplicativo que você criou aparecerá no seu celular para testes em tempo real!
Digite uma altura e um peso, clique no botão e veja o resultado do IMC aparecer.