AVA1 - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS - Passei Direto
AVA1 - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS - Passei Direto
AVA1 - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS - Passei Direto
PROGRAMAÇÃO
PARA DISPOSITIVOS
MÓVEIS
AVA1 – CALCULANDO MÉDIA
Impresso por Daay Santos, E-mail [email protected] para uso pessoal e privado. Este material pode ser protegido por
direitos autorais e não pode ser reproduzido ou repassado para terceiros. 09/11/2022 13:44:52
Introdução
A aplicação foi criada com o fim de calcular a média aritmética entre as notas das
avaliações A1, A2 e A3 de determinada disciplina devolvendo o conceito final. Consiste
em uma única tela contendo seis elementos onde o usuário pode de maneira simples
calcular sua média final para uma disciplina, informando as notas obtidas nas avaliações.
Os campos para entrada das notas são obrigatórios, sendo assim, se algum campo
estiver vazio, o cálculo não será realizado.
A aplicação foi desenvolvida a partir da IDE Android Studio utilizando a linguagem de
programação Java, que é hoje uma das linguagens mais utilizadas em todo o mundo na
criação de aplicações para os mais diversos tipos de dispositivos.
Impresso por Daay Santos, E-mail [email protected] para uso pessoal e privado. Este material pode ser protegido por
direitos autorais e não pode ser reproduzido ou repassado para terceiros. 09/11/2022 13:44:52
<TextView
android:id="@+id/averageResult"
android:layout_width="166dp"
android:layout_height="131dp"
android:layout_marginStart="123dp"
android:layout_marginTop="62dp"
android:layout_marginEnd="122dp"
android:layout_marginBottom="32dp"
android:gravity="center"
android:text="0.0"
android:textColor="#808080"
android:textSize="96sp"
app:layout_constraintBottom_toTopOf="@+id/inputGrade1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/calcButton"
android:layout_width="325dp"
android:layout_height="48dp"
android:layout_marginStart="43dp"
android:layout_marginTop="100dp"
android:layout_marginEnd="43dp"
android:onClick="averageCalculate"
android:text="Calcular"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/inputGrade3" />
<Button
android:id="@+id/calcButton2"
android:layout_width="325dp"
android:layout_height="48dp"
android:layout_marginStart="43dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="43dp"
android:layout_marginBottom="69dp"
android:onClick="resetInputs"
android:text="Novo calculo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/calcButton" />
<EditText
android:id="@+id/inputGrade1"
android:layout_width="236dp"
Impresso por Daay Santos, E-mail [email protected] para uso pessoal e privado. Este material pode ser protegido por
direitos autorais e não pode ser reproduzido ou repassado para terceiros. 09/11/2022 13:44:52
android:layout_height="48dp"
android:layout_marginStart="88dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="87dp"
android:layout_marginBottom="16dp"
android:ems="10"
android:hint="Nota A1"
android:inputType="numberDecimal"
app:layout_constraintBottom_toTopOf="@+id/inputGrade2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/averageResult" />
<EditText
android:id="@+id/inputGrade2"
android:layout_width="236dp"
android:layout_height="48dp"
android:layout_marginStart="88dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="87dp"
android:layout_marginBottom="16dp"
android:ems="10"
android:hint="Nota A2"
android:inputType="numberDecimal"
app:layout_constraintBottom_toTopOf="@+id/inputGrade3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/inputGrade1" />
<EditText
android:id="@+id/inputGrade3"
android:layout_width="236dp"
android:layout_height="48dp"
android:layout_marginStart="88dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="87dp"
android:layout_marginBottom="100dp"
android:ems="10"
android:hint="Nota A3"
android:inputType="numberDecimal"
app:layout_constraintBottom_toTopOf="@+id/calcButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/inputGrade2" />
</androidx.constraintlayout.widget.ConstraintLayout>
Impresso por Daay Santos, E-mail [email protected] para uso pessoal e privado. Este material pode ser protegido por
direitos autorais e não pode ser reproduzido ou repassado para terceiros. 09/11/2022 13:44:52
Tela da aplicação:
Impresso por Daay Santos, E-mail [email protected] para uso pessoal e privado. Este material pode ser protegido por
direitos autorais e não pode ser reproduzido ou repassado para terceiros. 09/11/2022 13:44:52
Impresso por Daay Santos, E-mail [email protected] para uso pessoal e privado. Este material pode ser protegido por
direitos autorais e não pode ser reproduzido ou repassado para terceiros. 09/11/2022 13:44:52
Impresso por Daay Santos, E-mail [email protected] para uso pessoal e privado. Este material pode ser protegido por
direitos autorais e não pode ser reproduzido ou repassado para terceiros. 09/11/2022 13:44:52
package com.uva.ppdm.averageapplication;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.content.pm.ActivityInfo;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
/**
* Contém toda a lógica para o cálculo da média.
* @param view
*/
public void averageCalculate(View view){
TextView textView =
findViewById(R.id.averageResult); EditText input1 =
findViewById(R.id.inputGrade1); EditText input2 =
findViewById(R.id.inputGrade2); EditText input3 =
findViewById(R.id.inputGrade3);
/**
* Se algum campo estiver vazio, o cálculo não é possível,
* portanto, mostra uma mensagem de alerta.
* Caso contrário, realiza o cálculo normalmente.
*/
if (isEmpty(input1) || isEmpty(input2) || isEmpty(input3)) {
AlertDialog.Builder(this);
Impresso por Daay Santos, E-mail [email protected] para uso pessoal e privado. Este material pode ser protegido por
direitos autorais e não pode ser reproduzido ou repassado para terceiros. 09/11/2022 13:44:52
builder1.setPositiveButton( "OK
",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, id) {
int dialog.cancel();
}
});
AlertDialog alert11 =
builder1.create(); alert11.show();
} else {
float a1 =
float Float.parseFloat(String.valueOf(input1.getText())); a2
float = Float.parseFloat(String.valueOf(input2.getText()));
a3 =
Float.parseFloat(String.valueOf(input3.getText()));
textView.setText(String.valueOf(calcTemp));
if (calcTemp < 6) {
textView.setTextColor(Color.parseColor("#FF0000"));
} else (calcTemp 6) {
if >=
textView.setTextColor(Color.parseColor("#008000"));
}
}
}
/**
* Este método tem como finalidade preparar a view para um novo cálculo
* @param view
*/
public void resetInputs(View view){
TextView textView =
findViewById(R.id.averageResult); EditText input1 =
findViewById(R.id.inputGrade1); EditText input2 =
findViewById(R.id.inputGrade2); EditText input3 =
findViewById(R.id.inputGrade3);
input1.setText("");
input2.setText("");
input3.setText("");
textView.setText("0.0");
textView.setTextColor(Color.parseColor("#808080"));
}
/**
* Verifica se o elemento está vazio, retornando um valor boleano.
* @param etText Elemento a ser verificado.
* @return {Boolean}
*/
private boolean isEmpty(EditText etText) {
return etText.getText().toString().trim().length() == 0;
}
}
Impresso por Daay Santos, E-mail [email protected] para uso pessoal e privado. Este material pode ser protegido por
direitos autorais e não pode ser reproduzido ou repassado para terceiros. 09/11/2022 13:44:52
Conclusão
Referências: