Está en la página 1de 9

Fundamentos

de Android
GESTIÓN DE EVENTOS

Jonathan Michel Onofre Cortez


MATRICULA: 201921578 | GRUPO: 10721
Realizar la práctica de eventos de la siguiente manera

Ejercicio 1

• Reproducir el ejercicio de clase con la botonera (4 botones) y el evento onClick con las 3 técnicas
• En base al punto anterior, aplicar al botón 2 un EventListener para el evento OnLongClickListener
• Para los botones 3 y 4 aplicar el EventHandler para el evento OnLongClickListener

Diseño:

Código:
ackage com.example.eventosconclicklargo; import android.view.View;
import android.widget.Button;
import android.os.Bundle; import android.widget.Toast;
import android.view.View.OnClickListener; onLongClick(View v) {
import onButtonLongClick2();
android.view.View.OnLongClickListener; return true;
import }
androidx.appcompat.app.AppCompatActivity; });

public class MainActivity extends // Clic corto con evento handler


AppCompatActivity {
button3.setOnClickListener(button3ClickHan
@Override dler);
protected void onCreate(Bundle
savedInstanceState) { // Clic largo con evento handler

super.onCreate(savedInstanceState); button3.setOnLongClickListener(button3Long
ClickHandler);
setContentView(R.layout.activity_main);
// Clic corto con evento handler
Button button1 =
findViewById(R.id.button1); button4.setOnClickListener(button4ClickHan
Button button2 = dler);
findViewById(R.id.button2);
Button button3 = // Clic largo con evento handler
findViewById(R.id.button3);
Button button4 = button4.setOnLongClickListener(button4Long
findViewById(R.id.button4); ClickHandler);
}
// Clic corto con OnClickListener
button1.setOnClickListener(new // Método para mostrar mensajes en
OnClickListener() { Toast
@Override private void showMessage(String
public void onClick(View v) { message) {
showMessage("Botón 1 - Toast.makeText(this, message,
Clic corto con OnClickListener"); Toast.LENGTH_SHORT).show();
} }
});
// Método de evento para el botón 2
// Clic largo con (clic corto)
OnLongClickListener private void onButtonClick2() {
button1.setOnLongClickListener(new showMessage("Botón 2 - Clic corto
OnLongClickListener() { con método de EventListener");
@Override }
public boolean
onLongClick(View v) { // Método de evento para el botón 2
showMessage("Botón 1 - (clic largo)
Clic largo con OnLongClickListener"); private void onButtonLongClick2() {
return true; showMessage("Botón 2 - Clic largo
} con método de EventListener");
}); }

// Clic corto con método de evento // Event handler para el botón 3 (clic
button2.setOnClickListener(new corto)
View.OnClickListener() { private View.OnClickListener
@Override button3ClickHandler = new
public void onClick(View v) { View.OnClickListener() {
onButtonClick2(); @Override
} public void onClick(View v) {
}); showMessage("Botón 3 - Clic
corto con EventHandler");
// Clic largo con método de evento }
button2.setOnLongClickListener(new };
View.OnLongClickListener() {
@Override // Event handler para el botón 3 (clic
public boolean largo)
private View.OnLongClickListener corto con EventHandler");
button3LongClickHandler = new }
View.OnLongClickListener() { };
@Override
public boolean onLongClick(View v) // Event handler para el botón 4 (clic
{ largo)
showMessage("Botón 3 - Clic private View.OnLongClickListener
largo con EventHandler"); button4LongClickHandler = new
return true; View.OnLongClickListener() {
} @Override
}; public boolean onLongClick(View v)
{
// Event handler para el botón 4 (clic showMessage("Botón 4 - Clic
corto) largo con EventHandler");
private View.OnClickListener return true;
button4ClickHandler = new }
View.OnClickListener() { };
@Override }
public void onClick(View v) {
showMessage("Botón 4 - Clic

Capturas
Ejercicio 2

• Crear un proyecto donde integre una pantalla de acceso (usuario- password y el botón de acceso)
• Programar el botón con alguna de las técnicas vistas en el ejercicio
• Simular la validación de los datos a través de una condicional, si los datos son correctos que aparezca en un
mensaje toast de datos correctos, de otra manera deberá indicar validar datos y borrar las cajas de texto.

Diseño

Código:
package com.example.myapplication; import
import android.content.Intent; androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils; public class MainActivity extends
import android.view.View; AppCompatActivity {
import android.widget.Button;
import android.widget.EditText; private EditText editTextUsuario;
private EditText editTextPassword;
import android.widget.ImageView;
import android.widget.Toast;
@Override
protected void onCreate(Bundle Intent intent = new
savedInstanceState) { Intent(MainActivity.this,
MainActivity2.class);
super.onCreate(savedInstanceState); startActivity(intent);

setContentView(R.layout.activity_main); // Crear Intent y agregar


datos
editTextUsuario = String dataToSend =
findViewById(R.id.editTextUsuario); editTextUsuario.getText().toString();
editTextPassword = Intent intent1 = new
findViewById(R.id.editTextPassword); Intent(MainActivity.this,
MainActivity2.class);
Button botonAcceso = intent1.putExtra("Onofre",
findViewById(R.id.botonAcceso); dataToSend);
// Iniciar SecondActivity
// Agregar evento onClick usando startActivity(intent1);
un EventHandler
botonAcceso.setOnClickListener(new mostrarMensaje("Inicio de
EventHandler()); sesión exitoso");
} mostrarMensaje("Datos
correctos. Acceso permitido.");
// EventHandler para el evento onClick
private class EventHandler implements limpiarCampos();
View.OnClickListener { } else {
@Override mostrarMensaje("Datos
public void onClick(View v) { incorrectos. Favor de validar.");
// Simular validación de datos }
}

String usuario =
editTextUsuario.getText().toString().trim( // Método para marcar las Texto en
); color rojo
String password = private void
editTextPassword.getText().toString().trim markFieldAsInvalid(EditText editText) {
();
editText.setTextColor(getResources().getCo
if (TextUtils.isEmpty(usuario) lor(android.R.color.holo_red_light));
&& TextUtils.isEmpty(password)) { }
mostrarMensaje("Por favor,
ingrese nombre de usuario y contraseña");
// Método para mostrar mensajes
markFieldAsInvalid(editTextUsuario); Toast
private void mostrarMensaje(String
markFieldAsInvalid(editTextPassword); mensaje) {
} else if
(TextUtils.isEmpty(usuario)) { Toast.makeText(MainActivity.this, mensaje,
mostrarMensaje("Por favor, Toast.LENGTH_SHORT).show();
ingrese el nombre de usuario"); }

markFieldAsInvalid(editTextUsuario);
} else if // Método para limpiar los campos
(TextUtils.isEmpty(password)) { de texto
mostrarMensaje("Por favor, private void limpiarCampos() {
ingrese la contraseña");
editTextUsuario.getText().clear();
markFieldAsInvalid(editTextPassword);
} else if editTextPassword.getText().clear();
(usuario.equals("Onofre") && }
password.equals("1234")) { }
// Aquí implementa tu }
lógica de inicio de sesión si ambos campos
están llenos
// Lanzar SecondActivity
Capturas

También podría gustarte