Prévia do material em texto
1 Aluno: Yuri de Lemos Antunes Ribeiro Matrícula: 1200301200 Curso de Sistemas de Informação DESENVOLVIMENTO DE UM APLICATIVO PARA O CÁLCULO DA MÉDIA DAS DISCIPLINAS EAD Disciplina: Programação para Dispositivos Móveis Rio de Janeiro Agosto de 2023 Curte aí :) - Nota 10 2 UNIVERSIDADE VEIGA DE ALMEIDA Aluno: Yuri de Lemos Antunes Ribeiro Programação para Dispositivos Móveis Trabalho apresentado como pré-requisito da disciplina Programação para Dispositivos Móveis do Curso de Sistemas de Informação da Universidade Veiga de Almeida. Rio de Janeiro Agosto de 2023 3 DESENVOLVIMENTO DE UM APLICATIVO PARA O CÁLCULO DA MÉDIA DAS DISCIPLINAS EAD Analise o procedimento para o cálculo da média de sua disciplina e crie uma aplicação (app) que seja capaz de receber as notas de A1, A2 e A3 de um aluno e apresentar sua média final na disciplina. Procedimentos para elaboração: Crie um projeto no Android® Studio e desenvolva a aplicação. Prepare um documento em Word com uma capa (apresentando a instituição, o curso, a disciplina, o aluno e o professor), uma introdução, o conteúdo com os códigos da tela (código XML da View) e os códigos de programação (códigos Java® da Controller), a conclusão e a bibliografia. Realize o envio da tarefa incluindo o arquivo em Word (ou em PDF). 4 INTRODUÇÃO Este trabalho foi desenvolvido utilizando a ferramenta Android Studio Giraffe | 2022.3.1 Patch 1 e a linguagem de programação Java. O objetivo principal era aplicar os conceitos aprendidos nas unidades 1 e 2 do eBook. O programa foi projetado para calcular a média simples de três notas de um aluno, permitindo a determinação da sua situação acadêmica (aprovado ou reprovado). No entanto, o cálculo somente é realizado se todas as três notas forem inseridas. Caso contrário, o programa emite um alerta para indicar a necessidade de inserir todas as notas para o cálculo correto. 5 CÓDIGO XML DA VIEW <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.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=".MainActivity"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:onClick="calcular" android:text="Calcular média" app:layout_constraintBottom_toTopOf="@+id/editText4" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> <EditText android:id="@+id/editText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1dp" android:ems="10" android:enabled="true" android:inputType="text" android:singleLine="true" android:textAlignment="center" app:layout_constraintStart_toEndOf="@+id/textView" app:layout_constraintTop_toBottomOf="@+id/textView6" /> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="21dp" android:ems="10" android:enabled="true" android:inputType="text" android:singleLine="true" android:textAlignment="center" app:layout_constraintStart_toEndOf="@+id/textView2" app:layout_constraintTop_toBottomOf="@+id/editText" /> <EditText android:id="@+id/editText4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:clickable="false" android:ems="10" android:enabled="false" android:inputType="text" app:layout_constraintBottom_toTopOf="@+id/textView5" app:layout_constraintStart_toEndOf="@+id/textView4" /> <TextView 6 android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="12dp" android:text="Média:" app:layout_constraintBottom_toBottomOf="@+id/editText4" app:layout_constraintEnd_toStartOf="@+id/editText5" /> <TextView android:id="@+id/textView5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="40dp" android:layout_marginBottom="132dp" android:text="Situação:" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" /> <EditText android:id="@+id/editText5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4dp" android:clickable="false" android:ems="10" android:enabled="false" android:inputType="text" app:layout_constraintStart_toEndOf="@+id/textView5" app:layout_constraintTop_toBottomOf="@+id/editText4" /> <EditText android:id="@+id/editText3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="17dp" android:ems="10" android:inputType="text" android:singleLine="true" android:textAlignment="center" app:layout_constraintStart_toEndOf="@+id/textView3" app:layout_constraintTop_toBottomOf="@+id/editText2" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="6dp" android:layout_marginBottom="8dp" android:text="A1:" app:layout_constraintBottom_toBottomOf="@+id/editText" app:layout_constraintStart_toStartOf="@+id/textView6" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="A2:" app:layout_constraintBaseline_toBaselineOf="@+id/editText2" app:layout_constraintEnd_toStartOf="@+id/editText" /> <TextView 7 android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="A3:" app:layout_constraintBaseline_toBaselineOf="@+id/editText3" app:layout_constraintEnd_toStartOf="@+id/editText2" /> <TextView android:id="@+id/textView6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="156dp" android:text="Digite suas notas nos campos solicitados!" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/textView7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="57dp" android:text="AVA1 - Yuri UVA 2023" android:textAlignment="center" android:textSize="20sp" android:textStyle="bold" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"/> </androidx.constraintlayout.widget.ConstraintLayout> 8 CÓDIGO JAVA DA CONTROLLER package com.example.myapplication; import static android.text.TextUtils.isEmpty; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.content.DialogInterface; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; public class MainActivity extends AppCompatActivity { EditText edt1; EditText edt2; EditText edt3; EditText edt4; EditText edt5; Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edt1 = (EditText) findViewById(R.id.editText); edt2 = (EditText) findViewById(R.id.editText2); edt3 = (EditText) findViewById(R.id.editText3); edt4 = (EditText) findViewById(R.id.editText4); edt5 = (EditText) findViewById(R.id.editText5); button = (Button) findViewById(R.id.button); } // Checagem para ver se todas as notas foram inseridas public void validarEntradaVazia(String stringA1, String stringA2, String stringA3) { if (TextUtils.isEmpty(stringA1) || TextUtils.isEmpty(stringA2) || TextUtils.isEmpty(stringA3)) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("É necessário colocar as notas A1, A2 e A3 para ser possível efetuar o cálculo."); builder.setCancelable(true); builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alerta = builder.create(); alerta.show(); } } public void calcular(View v) { String notaA1 = edt1.getText().toString(); String notaA2 = edt2.getText().toString(); String notaA3 = edt3.getText().toString(); 9 if (TextUtils.isEmpty(notaA1) || TextUtils.isEmpty(notaA2) || TextUtils.isEmpty(notaA3)) { validarEntradaVazia(notaA1, notaA2, notaA3); return; } double a1 = Double.parseDouble(notaA1); double a2 = Double.parseDouble(notaA2); double a3 = Double.parseDouble(notaA3); double media = (a1 + a2 + a3) / 3; String situacao = (media >= 6) ? "Aluno aprovado." : "Aluno reprovado."; edt4.setText(String.format("%.2f",media)); edt5.setText(situacao); } } 10 APRESENTAÇÃO DOS PRINTS 11 12 CONCLUSÃO Este projeto proporcionou uma aplicação prática dos princípios explorados nas unidades 1 e 2 do eBook, enquanto desenvolvia uma ferramenta simples de cálculo de média de notas para estudantes. A utilização do Android Studio e da linguagem Java permitiu criar uma interface intuitiva e funcional. Destacando-se, o desafio adicional de implementar uma checagem e alerta para notas ausentes elevou a experiência do projeto, incentivando a busca por soluções criativas e eficientes. Esse exercício fortaleceu não apenas as habilidades de programação, mas também a compreensão de como criar aplicativos Android que atendam às necessidades dos usuários de maneira eficaz. 13 BIBLIOGRAFIA Nascimento, C. A. S. A. do. (2019). Desenvolvimento de Aplicações Mobile e Distribuídas. Rio de Janeiro.