Livro 2 - Projeto da Mini-Calculadora
7. Adicionado a Lógica da Aplicação
7.2. Atributos da classe
Boas práticas de programação indicam a criação de todos os atributos em uma classe em Java na parte de cima do arquivo. Nessa parte devem estar declaradas todas as variáveis e constantes que serão utilizadas pela aplicação.
No caso desse projeto, iremos criar as constantes currencyFormat e percentFormat, duas instâncias da classe NumberFormat, que vão cuidar da formatação da moeda e porcentagem. A especificação do tipo de formatação que irá ser usada é obtida através da invocação do método getCurrecyInstance() e getPercentInstance() respectivamente. Fica a cargo da classe NumberFormat descobrir qual o tipo de moeda deve ser usado, informações essa que depende da localidade do dispositivo. Logo, a formatação da moeda é adaptável a reais (R$) ou dólares (U$), por exemplo, dependendo das configurações do dispositivo Android. Para satisfazer os requisitos da aplicação, são declaradas duas variáveis billAmount (representará o valor inserido pelo usuário – inicialmente 0) e percent (representará a taxa de serviço – inicialmente 0.15). Ao se interagir com as views da tela, esses valores irão ser modificados e usados nos cálculos. Também devem ser declarados no inicio da classe todos os componentes gráficos que serão manipulados na aplicação. Neste projeto é necessário obter a referência das views amoutTextView, percentTextView, tipTextView e totalTextView.
package br.com.bcalegaro.minicalculadora;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.SeekBar;
import android.widget.TextView;
import java.text.NumberFormat;
public class MainActivity extends AppCompatActivity {
//objetos de formatação da MOEDA e da PORCENTAGEM
private static NumberFormat currecyFormat = NumberFormat.getCurrencyInstance();
private static NumberFormat percentFormat = NumberFormat.getPercentInstance();
//variáveis para a lógica de aplicação
private double billAmount = 0.0;
private double percent = 0.15;
//variavéis com as referências aos elementos da interface gráfica
private TextView amountTextView;
private TextView percentTextView;
private TextView tipTextView;
private TextView totalTextView;