
Programação do aplicativo
Este texto base aborda os seguintes temas:
Tipos de variáveis
Como você tem aprendido, a linguagem Java é tipada. Assim, para utilizar uma variável, é fundamental informar o tipo de dado que ela vai armazenar.
A figura abaixo mostra alguns dos tipos básicos de variáveis:
Tipo | Descrição |
---|---|
int | Um valor inteiro, ou seja, um número inteiro (sem decimais) que inclui zero e números negativos. |
float | Um valor de ponto flutuante, um valor decimal (quebrado, ou com vírgula). Porém, as casas decimais (do lado direito da vírgula) podem "flutuar", ou seja, são imprecisas. Quando são necessários decimais precisos, como moeda, devemos usar o BigDecimal. |
boolean | Um valor que pode ser verdadeiro ou falso. As palavras-chave no Java para os valores são "true" e "false". |
char | Um único caractere, como a letra 'A' ou o símbolo '#'. Cuidado, pois as maiúsculas e minúsculas são diferentes, então 'a' e 'A' são duas coisas diferentes. |
String | Uma String é um conjunto de caracteres formando um texto, por exemplo: "Android é legal". |
Para declarar uma variável, utilizamos a seguinte sequência: primeiramente, especificamos o tipo e, posteriormente, um nome. No exemplo a seguir, a variável é do tipo numérica "float", e seu nome é "km".
float km;
Para atribuir um valor nessa variável, utilizamos o operado de atribuição "=". No exemplo a seguir, atribuímos o valor "10" na variável.
km = 10;
Construção da Activity para converter quilômetro em metro
Vamos utilizar o arquivo "activity_km_m.xml" para desenvolver a tela da nossa interface com o usuário. A figura abaixo mostra a localização do arquivo.

O vídeo a seguir demonstra o processo de desenvolvimento da interface do arquivo "activity_km_m.xml".
Caso tenha perdido alguma parte, segue o código XML do arquivo "activity_km_m.xml".
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".KmM">
<TextView
android:id="@+id/txtKm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="56dp"
android:text="Km:"
android:textColor="@color/colorPrimary"
android:textSize="14sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<EditText
android:id="@+id/edtKm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txtKm"/>
<TextView
android:id="@+id/txtM"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="44dp"
android:text="Metro:"
android:textColor="@color/colorPrimary"
android:textSize="14sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/edtKm"/>
<EditText
android:id="@+id/edtM"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txtM"/>
<Button
android:id="@+id/btnConverter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:background="@color/colorPrimary"
android:text="Converter"
android:textColor="@android:color/background_light"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/edtM"
app:layout_constraintVertical_bias="0.026"/>
</android.support.constraint.ConstraintLayout>
Desenvolvendo o código para compor o cálculo de conversão
Assista ao vídeo 2 abaixo, que mostra o desenvolvimento da programação da Activity.
Desenvolvimento da programação da Activity
package com.example.aula01;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class KmM extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_km_m);
//Desenvolvimento dos componentes da programação
//e interligação dos componentes da Tela
final EditText edtKm_prog = (EditText) findViewById(R.id.edtKm);
final EditText edtM_prog = (EditText) findViewById(R.id.edtM);
Button btnConverter_prog = (Button) findViewById(R.id.btnConverter);
//Ação de click do botão
btnConverter_prog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Declaração de variáveis
float km, m;
//Leitura e atribuição do valor de Km.
//Observação: O valor vem como "String" do "PlainText",
//e vamos converter em número através do
//"Float.parseFloat".
km = Float.parseFloat(edtKm_prog.getText().toString());
//Calculo para converter "Km" em "Metro"
m = km * 1000;
//Conversão de número para "String", para mostrar o resultado na Tela
edtM_prog.setText(String.valueOf(m));
}
});
}
}