Como criar uma calculadora de IMC em Android

Atualizado em 29/04/19!

Eu tenho feito algumas palestras sobre desenvolvimento de apps Android ultimamente onde ao invés de ficar falando e falando eu mostro na prática como é fácil criar um app de verdade, com utilidade, para a plataforma Android em poucos minutos. O app em questão que eu uso como exemplo é uma calculadora de IMC (Índice de Massa Corpórea) que baseado nas informações de peso e altura de uma pessoa ela avisa se a mesma está com sobrepeso, abaixo do peso, etc. Esse tipo de app de saúde bomba na Google Play e se criado com uma boa interface e um bom marketing, pode render grana com ele ou ao menos visibilidade.

O vídeo de um webinar que gravei recentemente mostra o passo-a-passo deste tutorial para quem prefere assistir ao invés de ler:

Tutorial

Para este tutorial você vai precisar do Android Studio, de preferência a versão 2.2, a mais recente quando escrevo este post. Baixe e instale o mesmo, abra-o a primeira vez e faça as atualizações e downloads que ele pedir. Todo esse processo de configuração eu detalho nos 2 livros de Android que tenho publicados e que você pode conferir na seção Meus Livros. Também será necessário ter um smartphone com Android conectado via USB no computador ou criar sua primeira máquina virtual Android (AVD) que tenho quase certeza que já publiquei a respeito aqui no blog em outra ocasião.

Para começar, crie um novo projeto no Android Studio com o nome de Calculadora IMC e coloque o domínio da sua empresa que será usado como parte do nome do pacote Java do seu projeto (evite deixar example.com pois isso gera problemas na publicação mais tarde).

captura-de-tela-2016-10-06-as-19-19-48

Quando ele pedir para escolher o template da primeira Activity, escolha Empty Activity, que é o template de Olá Mundo. Mantenha o nome da Activity como MainActivity e o nome do layout XML como activity_main.xml, conforme as sugestões da própria ferramenta.

Dentro da pasta app/res/layouts dê um duplo-clique no XML e vamos codificar a interface do nosso app Calculadora IMC. Precisamos de dois campos de texto (EditText) para peso e altura, um botão (Button) para chamar o cálculo e um rótulo de texto (TextView) para exibir o resultado do cálculo. O código abaixo mostra como deve ficar o seu XML (versões):

Note que coloquei o inputType dos dois campos de texto como number e numberDecimal, o que deve facilitar pro Android exibir os teclados corretos pro usuário preencher. Também já defini o nome do evento de click do Button como sendo btnCalcularOnClick, método que terá de ser criado depois em nosso código Java para responder à essa requisição. E por fim, usei um LinearLayout como contâiner padrão para simplificar o desenvolvimento da tela com uma simples orientation=vertical. Atenção aos ids também, usaremos eles mais tarde.
O resultado visual pode ser conferido abaixo (o TextView não aparece pois está sem texto no momento):

captura-de-tela-2016-10-06-as-19-25-49

Agora vamos pra nossa MainActivity, onde fica o código Java por trás dessa tela. Lá encontraremos apenas um método onCreate que é disparado a primeira vez que essa Activity é chamada e sobe pra memória no Android, entre suas responsabilidades está carregar o layout XML que criamos no passo anterior. Ignoremos ele por enquanto.

Curso React Native

O que temos que fazer aqui é criar um método btnCalcularOnClick para atender à requisição do clique do botão que colocamos na tela anterior. A regra é clara: deve ser um método public void com o nome que você quiser mas somente com o parâmetro do tipo View. Dentro dele vamos carregar cada um dos componentes da tela em variáveis locais e depois manipulamos elas para ler os valores que foram preenchidos pelo usuário, calcular o IMC e pintar o resultado de volta, usando o TextView.

Aqui simplifiquei o cálculo do IMC, que você pode encontrar facilmente na Internet. Defini que se o IMC estiver abaixo de 19 a pessoa está magra demais, se estiver acima de 32 está gorda demais e o resto tá tranquilo.

Se você rodar este app, ele vai estar funcionando lindamente!

Espero que tenham gostado!

* OBS: curtiu o post? Então dá uma olhada no meu livro de Android clicando no banner abaixo pra aprender a criar outros tantos apps incríveis!

Criando apps para empresas com Android