Practica 04
Practica 04
Practica 04
ACTIVIDADES
AutoCompleteTextView
1. Crea un nuevo proyecto Empty activity. Deje por omisión las opciones predeterminadas y presione el
botón Finish en el último cuadro de diálogo.
2. Modifique el archivo activity_main.xml para que se vea como sigue:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nombre del presidente" />
<AutoCompleteTextView
android:id="@+id/txtPresidentes"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
String[] presidentes = {
"José de San Martín",
"Pedro Diez Canseco",
"José Pardo y Barreda",
"José Luis Bustamante",
"Zenón Noriega",
"Manuel Odría",
"Manuel Prado",
"Fco Morales Bermúdez",
"Fernando Belaunde",
"Alberto Fujimori",
"Valentín Paniagua",
"Alejandro Toledo",
"Alan García",
"Pedro Pablo Kuczynski",
"Martín Alberto Vizcarra"
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
1. Crea un nuevo proyecto Empty activity. Deje por omisión las opciones predeterminadas y presione el
botón Finish en el último cuadro de diálogo.
2. Modifique el archivo activity_main.xml para que se vea como sigue:
<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btnConfigurar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Hora:"
android:textSize="9dp" />
</LinearLayout>
import android.os.Bundle;
import android.view.View;
import android.widget.TimePicker;
import android.widget.Toast;
timePicker = findViewById(R.id.timePicker);
timePicker.setIs24HourView(true);
}
public void onClick(View view) {
Toast.makeText(getBaseContext(), "Hora seleccionada: " +
timePicker.getCurrentHour() + ":" +
timePicker.getCurrentMinute(),
Toast.LENGTH_SHORT).show();
}
}
4. Guarde la aplicación y ejecute.
DatePicker
5. En el proyecto anterior modifique el archivo activity_main.xml para que se vea como sigue:
<Button
android:id="@+id/btnConfigurar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hora: "
android:onClick="onClick"
android:textSize="9dp" />
<DatePicker
android:id="@+id/datePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:calendarViewShown="false"
android:spinnersShown="false"
android:datePickerMode="spinner" />
<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:timePickerMode="spinner" />
</LinearLayout>
6. En el archivo principal de Java MainActivity.java agregue el código para que se vea como sigue:
package com.example.times;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.app.Activity;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Toast;
TimePicker timePicker;
DatePicker datePicker;
int hour, minute;
static final int TIME_DIALOG_ID = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// --- No es necesario llamar a setContentView ---
// setContentView(R.layout.main);
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_checked, presidents));
}
@Override
protected void onListItemClick(ListView parent, View v, int position, long id) {
super.onListItemClick(parent, v, position, id);
Toast.makeText(this, "You have selected " + presidents[position],
Toast.LENGTH_SHORT).show();
}
}
3. Guarde los cambios. Ejecute la aplicación.
EJERCICIOS
SCRUM: Es un proceso para llevar a cabo un conjunto de tareas de forma regular con el objetivo principal de
trabajar de manera colaborativa, es decir, para fomentar el trabajo en equipo. Con este método de trabajo lo que
se pretende es alcanzar el mejor resultado de un proyecto determinado [1].
Requisitos funcionales:
Registro de Usuario: Los usuarios deben poder registrarse en la aplicación proporcionando información básica
como nombre, correo electrónico y contraseña.
Inicio de Sesión (Login): Los usuarios registrados deben poder iniciar sesión en la aplicación utilizando sus
credenciales previamente establecidas.
Perfil de Usuario: Cada usuario debe tener un perfil personalizable donde puedan agregar información
adicional, como una foto de perfil, intereses y habilidades relevantes.
Publicación de Favores: Los usuarios deben poder crear publicaciones en las que ofrezcan ayuda o soliciten
asistencia específica dentro del campus universitario. Estas publicaciones deben incluir detalles sobre el tipo de
ayuda necesaria o ofrecida, así como la ubicación y el horario de disponibilidad.
Búsqueda y Visualización de Publicaciones: Los usuarios deben poder buscar y visualizar publicaciones de
favores dentro de la aplicación, filtrándolas por categorías relevantes (por ejemplo, tipo de ayuda, ubicación,
etc.).
Requisitos no funcionales:
Privacidad del Perfil: La información del perfil de usuario debe ser privada y configurable por el usuario,
permitiendo controlar qué detalles son visibles para otros usuarios.
Autenticación Segura: El sistema de inicio de sesión debe implementar medidas de autenticación segura, como
el uso de tokens de sesión o autenticación de dos factores, para proteger las cuentas de los usuarios contra
accesos no autorizados.
Escalabilidad: La aplicación debe ser capaz de manejar un crecimiento futuro en el número de usuarios y
publicaciones sin comprometer su rendimiento o estabilidad.
Integración Social: Se debe permitir a los usuarios compartir publicaciones de favores en plataformas de redes
sociales populares para fomentar una mayor participación y colaboración entre la comunidad estudiantil.
Historial de Publicaciones: La aplicación debe mantener un historial de las publicaciones realizadas por cada
usuario, permitiendo acceder a ellas para referencia futura o seguimiento de actividades de ayuda.
Objetivo
Crear los mockups detallados de las diferentes pantallas y flujos de la aplicación. Desarrollar la interfaz de
usuario inicial en Android Studio basada en estos mockups.
Actividades
Materiales y métodos:
-Conexion a internet
-Herramientas de desarrollo
-Metodologia SCRUM
-Computadoras y dispositivos moviles
-Plataforma de control de versiones
-Desarrollo agil y pruebas
Mockups
Mockup de registro de usuario: Aquí presentamos una estructura básica para el mockup de registro de usuario.
Se ha considerado la inclusión de campos para el nombre del usuario, correo electrónico, contraseña y
confirmación de contraseña. Además, se han incorporado dos opciones adicionales: una para recordar la
contraseña y otra para iniciar sesión si el usuario ya cuenta con una cuenta previamente registrada.
Mockup de inicio de ayuda: En el diseño del mockup de la sección de inicio de ayuda, nos hemos inspirado
en la disposición de la aplicación Facebook, donde se pueden visualizar las publicaciones de los usuarios. Sin
embargo, en este caso, se enfoca en mostrar las solicitudes de ayuda de las personas. La interfaz constará de un
menú superior, una barra de búsqueda y un acceso directo al perfil del usuario. En la sección principal, se
presentarán las publicaciones de ayuda, cada una acompañada por una pequeña fotografía del usuario, su
nombre y una descripción detallada de lo que necesita, así como una imagen de referencia si es pertinente.
Además, se incluirá un botón para ofrecer ayuda, y se proporcionará la opción de visualizar la ayuda que ha
recibido cada persona.
CUESTIONARIO
Para implementar un DatePicker en Android, debes agregar una instancia de DatePicker a la interfaz de usuario
de la aplicación. Esta instancia se puede configurar para mostrar un calendario en el que los usuarios pueden
seleccionar una fecha [2].
Para implementar un TimePicker, el proceso es similar al DatePicker. Primero, debes declarar un listener para
escuchar cuando el usuario selecciona la hora. El listener debe ser de tipo
TimePickerDialog.OnTimeSetListener [2] [3].
2. ¿Explique tres metodologías de desarrollo ágil que existen para la construcción de aplicaciones
móviles?
Scrum: Es una de las metodologías ágiles más populares. Se basa en iteraciones o sprints que suelen durar entre
dos y cuatro semanas. Cada sprint tiene una lista de tareas que deben completarse, y al final de cada sprint, se
entrega un incremento del producto [4].
Metodología AEGIS-MD: Esta metodología se basa en principios como la colaboración y la cooperación entre
todas las partes interesadas, la identificación temprana de los usuarios, la comunicación y la retroalimentación
constante. Incluye roles como el cliente, el gerente de proyecto, el desarrollador y el tester. También contempla
herramientas como el estudio de factibilidad, las historias de usuario, los requisitos generales, la identificación
de usuarios, las notas de aceptación y las lecciones aprendidas [5].
Metodología Ágil para el Desarrollo de Aplicaciones Móviles: Esta metodología se adapta a la realidad
tecnológica y a las necesidades del usuario. Permite desarrollar la aplicación en periodos cortos de entre uno y
seis meses, realizando varias actualizaciones según se vayan entregando nuevas funcionalidades. También
permite testear fácilmente y obtener feedback de los usuarios [6].
REFERENCIAS
[1] «APD España,» Cómo aplicar la metodología Scrum y qué es el método Scrum, 9 Abril 2024. [En línea]. Available:
https://www.apd.es/metodologia-scrum-que-es/. [Último acceso: 25 Abril 2024].
[2] L. Jiménez, «Leojimzdev.com,» DatePicker en Android: ¿cómo utilizarlo para obtener fechas?, 5 Mayo 2023. [En
línea]. Available: https://leojimzdev.com/datepicker-en-android-como-utilizarlo-para-obtener-fechas/. [Último
acceso: 23 Abril 2024].
[3] {. Enthusiast}, «Youtube,» Calendario fácil en android 2 opciones: DatePickerDialog y Calendarview, y Hora con
TimeSetPicker , 5 Abril 2024. [En línea]. Available: https://www.youtube.com/watch?v=quR2UW-VkU0.
[Último acceso: 4 Abril 2024].
[4] C. Lara y L. Figueroa, «Edu.ar,» Metodología ágil para el desarrollo de aplicaciones móviles educativas, [En línea].
Available: https://sedici.unlp.edu.ar/bitstream/handle/10915/103770/Documento_completo.pdf-
PDFA.pdf?sequence=1. [Último acceso: 4 Abril 2024].
[5] Y. D. A. Balaguera, «Edu.mx,» Guía metodológica ágil, para el desarrollo de aplicaciones móviles “AEGIS-MD”,
[En línea]. Available: https://apps.utel.edu.mx/recursos/files/r161r/w25510w/GuiaMetodologicaAgil.pdf. [Último
acceso: 4 Abril 2024].
[6] A. J. Forner, «The Work Smarter Guide - Redbooth,» La metodología ágil en el desarrollo de aplicaciones móviles,
30 Diciembre 2023. [En línea]. Available: https://redbooth.com/hub/es/importancia-metodologia-agil-desarrollo-
aplicaciones-moviles/. [Último acceso: 4 Abril 2024].