Está en la página 1de 12

UNIVERSIDAD CATÓLICA DE SANTA MARÍA

ESCUELA PROFESIONAL DE INGENIERÍA DE


SISTEMAS
TECNOLOGÍAS MÓVILES – 03
SESIÓN 4 - VISTAS

CÓDIGO APELLIDOS Y NOMBRES FECHA


2021400051 CARDENAS YTUZA, FERNANDO LUIGUI 25/04/2024

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:

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout 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"
android:orientation="vertical"
tools:context=".MainActivity">

<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>

3. Agregue las siguientes sentencias al archivo MainActivity.java.

public class MainActivity extends AppCompatActivity {

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);

ArrayAdapter<String> adapter = new ArrayAdapter<>(this,


android.R.layout.simple_dropdown_item_1line, presidentes);

AutoCompleteTextView textView = findViewById(R.id.txtPresidentes);


textView.setThreshold(3);
textView.setAdapter(adapter);
}
}

4. Guarde los cambios. Ejecute la aplicación.


TimePicker

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:

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">

<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>

3. Agregue las siguientes sentencias al archivo MainActivity.java.

import android.os.Bundle;
import android.view.View;
import android.widget.TimePicker;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


TimePicker timePicker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

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:

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
tools:context="com.example.toshiba.timepicker.MainActivity">

<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;

public class MainActivity extends Activity {

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);

timePicker = (TimePicker) findViewById(R.id.timePicker);


timePicker.setIs24HourView(true);
// showDialog(TIME_DIALOG_ID);
datePicker = (DatePicker) findViewById(R.id.datePicker);
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case TIME_DIALOG_ID:
return new TimePickerDialog(
this, mTimeSetListener, hour, minute, false);
default:
return null;
}
}
private TimePickerDialog.OnTimeSetListener mTimeSetListener = new
TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minuteOfHour) {
hour = hourOfDay;
minute = minuteOfHour;
SimpleDateFormat timeFormat = new SimpleDateFormat("hh:mm aa");
Date date = new Date(0, 0, 0, hour, minute);
String strDatetime = timeFormat.format(date);
Toast.makeText(getBaseContext(),
"You have selected: " + strDatetime, Toast.LENGTH_SHORT).show();
}
};
public void onClick(View view) {
Toast.makeText(getBaseContext(),
"Date selected: " + (datePicker.getMonth() + 1) + "/" +
datePicker.getDayOfMonth() +
"/" + datePicker.getYear() + "\n" +
"Time selected: " + timePicker.getCurrentHour() +
":" + timePicker.getCurrentMinute(),
Toast.LENGTH_SHORT).show();
}
}

7. Guarde los cambios. Ejecute la aplicación.


ListView

1. Crea un nuevo proyecto Empty activity.


2. Modifique el archivo MainActivity.java para que se vea como sigue:

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class BasicViewsActivity extends ListActivity {


String[] presidents = {
"Dwight D. Eisenhower",
"John F. Kennedy",
"Lyndon B. Johnson",
"Richard Nixon",
"Gerald Ford",
"Jimmy Carter",
"Ronald Reagan",
"George H. W. Bush",
"Bill Clinton",
"George W. Bush",
"Barack Obama"
};

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// --- No es necesario llamar a setContentView ---
// setContentView(R.layout.main);

ListView listView = getListView();


//listView.setChoiceMode(ListView.CHOICE_MODE_NONE);
//listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
listView.setTextFilterEnabled(true);

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

Realice el informe del siguiente

1. Elija una metodología de desarrollo ágil para su Proyecto.

La metodología elegida de nuestro proyecto es SCRUM.

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].

2. Según la metodología, documente su primer entregable (Incremento): Requisitos, Diseño, Mapa de


Navegabilidad, Construcción y Pruebas.

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.

Sprint 1: Diseño de Mockups e Interfaz de Usuario

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

• Creación de mockups con herramientas de diseño.


• Diseño de la estructura visual de las pantallas clave.
• Validación de los mockups con el equipo de desarrollo.
• Implementación de la interfaz básica en Android Studio.

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 iniciar sesión: En el diseño preliminar de la pantalla de inicio de sesión, consideramos la


inclusión de campos para introducir tanto el correo electrónico como la contraseña correspondiente. Además,
hemos integrado una opción para recordar la contraseña, ubicada estratégicamente para facilitar su acceso. En
la parte inferior de la interfaz, se ofrece la posibilidad de registrarse en caso de no contar con una cuenta
previa, así como una opción para recuperar la contraseña en caso de olvido.
Mockup de perfil: En el diseño de la interfaz de perfil, se presentará una imagen del usuario acompañada de
su nombre, junto con una opción claramente identificada para editar el perfil. Además, se proporcionará
información relevante sobre la persona, incluyendo la universidad a la que pertenece, su carrera y su dirección
de correo electrónico para facilitar el contacto a través de otros medios. Por último, se exhibirán las habilidades
en las que el usuario sobresale, proporcionando una visión completa de su perfil.

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

1. ¿Cómo se puede agregar TimePicker, DatePicker y otros en la Paletta de Android?

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].

También podría gustarte