Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SEMANA 5
Felipe Espinoza U.
01-05-2023
Técnica Nivel Superior en Análisis y Programación.
DESARROLLO
Imagina que has sido contratado por IACC, para el desarrollo de una aplicación móvil, con el
fin de premiar a los mejores alumnos de las distintas carreras, para lo cual en necesario que
consideres los requerimientos descritos a continuación:
● El nombre de la aplicación debe llevar tu nombre y apellido como nombre del proyecto.
● En la pantalla principal, incorpora un menú o 3 botones que deberán tener las
siguientes funcionalidades respectivamente:
1. Una opción para capturar una foto (utilizando la cámara) del alumno destacado.
2. Una opción en la cual se utilice listview con los alumnos destacados, deberá
contar con la foto y nombre, al presionar el primero del ranking se debe
reproducir una canción y/o sonido.
3. Una opción donde se exponga un gráfico con las 4 carreras con más alumnos.
Para realizar esta tarea, vamos a utilizar un botón llamado "Alumnos" que nos llevará a una lista
que muestra el ranking de los estudiantes. Si hacemos clic en el primer estudiante de la lista, se
reproducirán aplausos, como se especificó en la solicitud de la funcionalidad.
Para reproducir los aplausos, vamos a utilizar la funcionalidad de "MediaPlayer", que nos permite
reproducir audio o sonidos cuando hacemos clic en un botón. Además, se ha agregado la
funcionalidad de seleccionar una imagen, que se mostrará en pantalla completa.
Esta característica tiene tres botones disponibles. El primero se utiliza para abrir la cámara y
tomar una foto. Después de tomar la foto, volveremos al menú principal, donde podremos ver la
imagen que acabamos de capturar. Además, la foto se guardará automáticamente en los
archivos del sistema.
Crear un nuevo proyecto con una Activity vacía, en el archivo activity_main.xml, crea los tres botones:
<Button
android:id="@+id/botonTomarFoto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<Button
android:id="@+id/botonAlumno"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Alumno" />
<Button
android:id="@+id/botonGrafico"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Gráfico" />
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.botonTomarFoto).setOnClickListener(v -> {
if (tomarFoto.resolveActivity(getPackageManager()) != null) {
startActivityForResult(tomarFoto, CODIGO_TOMAR_FOTO);
} else {
});
// Botón "Alumno"
findViewById(R.id.botonAlumno).setOnClickListener(v -> {
alumnos.add("Juan - Informática");
alumnos.add("Ana - Derecho");
alumnos.add("Carlos - Informática");
verAlumnos.putStringArrayListExtra("alumnos", alumnos);
startActivity(verAlumnos);
});
// Botón "Gráfico"
findViewById(R.id.botonGrafico).setOnClickListener(v -> {
startActivity(verGrafico);
});
@Override
Dentro del paquete com.tuempresa.tuapp, crea una nueva clase llamada AlumnosActivity que extienda
de AppCompatActivity.
Agrega el siguiente código a la clase AlumnosActivity:
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.List;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alumnos);
alumnos.add("Juan - Informática");
alumnos.add("Pedro - Medicina");
alumnos.add("Luisa - Derecho");
alumnos.add("Andrés - Informática");
android.R.layout.simple_list_item_1, alumnos);
listaAlumnos.setAdapter(adapter);
}
}
Agrega una nueva Activity en el archivo AndroidManifest.xml con el nombre AlumnosActivity y con el
siguiente código:
<activity android:name=".AlumnosActivity"
android:label="@string/alumnos_activity_title">
<intent-filter>
</intent-filter>
</activity>
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.github.mikephil.charting.charts.BarChart;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
import java.util.ArrayList;
import java.util.List;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_grafico);
grafico.setData(barData);
grafico.getDescription().setText("Ingresos 2023");
grafico.invalidate();
activity_alumnos.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/listaAlumnos"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
activity_grafico.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.github.mikephil.charting.charts.BarChart
android:id="@+id/grafico"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
REFERENCIAS BIBLIOGRÁFICAS
IACC. (2023). Herramientas de programación móvil. Animaciones, Gráficos y Multimedia en Android.
Semana 5.