“android – manejo de eventos” · 3 escuchando los eventos un escuchador de eventos (event...
TRANSCRIPT
![Page 1: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/1.jpg)
“Android – Manejo de Eventos”
Rogelio Ferreira Escutia
![Page 2: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/2.jpg)
2
Tipos de Eventos
![Page 3: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/3.jpg)
3
Escuchando los eventos
Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback” que ha de ser registrado.
Cada escuchador de eventos tiene sólo un método callback que será llamado por Android cuando se produzca la acción correspondiente.
![Page 4: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/4.jpg)
4
Diferentes tipos de detectores de eventos
onClick()– Cuando el usuario selecciona una elemento.
onLongClick()– Cuando el usuario selecciona un elemento por mas
de un segundo.
onFocusChange()– Cuando el usuario navega dento o fuera de un
elemento.
onKey()– Cuando se presiona o suelta o una tecla del
dispositivo.
![Page 5: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/5.jpg)
5
Ejemplo de manejo de Eventos
![Page 6: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/6.jpg)
6
Ejemplo (1): Inicio
Crear una pantalla que contenga los siguientes componentes:
– 1) Dos textos (una descripción)
– 2) Un botón (Historia del ITM)
![Page 7: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/7.jpg)
7
Declaramos nuestro archivo XML con 2 textos y un botón:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >
<TextView android:id="@+id/LblTitulo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/titulo" />
ARCHIVO: res / layout / activity_main.xml
Ejemplo (2): Interfaz Gráfica
![Page 8: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/8.jpg)
8
<TextView android:id="@+id/LblDescripcion" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/descripcion" />
<Button android:id="@+id/BtnHistoria" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/boton_historia" />
</LinearLayout>
ARCHIVO: res / layout / activity_main.xml
Declaramos nuestro archivo XML con 2 textos y un botón:
Ejemplo (3): Interfaz Gráfica
![Page 9: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/9.jpg)
9
<string name="titulo">Sistema de Información del ITM</string> <string name="descripcion">Este es un sistema de información
acerca del ITM</string> <string name="boton_historia">Historia del ITM</string>
ARCHIVO: res / values / strings.xml
Agregamos las cadenas que tienen la descripción en pantalla y la cadena del botón:
Ejemplo (4): Manejo de Cadenas
![Page 10: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/10.jpg)
10
Obtenemos una referencia a los controles de la interfaz (declaración del botón)
final Button BtnHistoria = (Button)findViewById(R.id.BtnHistoria);
ARCHIVO: src / MainActivity.java
Ejemplo (5): Manejo del evento
![Page 11: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/11.jpg)
11
Implementamos el evento “click”
BtnHistoria.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //Creamos el Intent Intent intent = new Intent(MainActivity.this, HistoriaActivity.class); startActivity(intent); } });
ARCHIVO: src / MainActivity.java
Ejemplo (6): Manejo del evento
![Page 12: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/12.jpg)
12
Cuando se haga “click” en el botón, se desencadena una evento, el cual es “escuchado” para poder tomar una decisión.
Al desencadenar el evento, nos tiene que llevar a una segunda pantalla, por lo que debemos crear 2 nuevos componentes:
– 1) Una nueva vista (activity_historia.xml).
– 2) Un nuevo programa en Java para el control (HistoriaActivity).
Ejemplo (7): Nueva Pantalla
![Page 13: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/13.jpg)
13
La nueva pantalla tendra los siguientes componentes:
– 1) Un texto (titulo_historia).
– 2) Una imagen (itm).
– 3) Un texto (historia).
– 4) Un botón (boton_regresar).
Ejemplo (8): Nueva Pantalla
![Page 14: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/14.jpg)
14
Así se verá nuestra nueva pantalla:
Ejemplo (9): Nueva Pantalla
![Page 15: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/15.jpg)
15
Declaramos nuest ro arch ivo XML con los componentes anteriores.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >
<TextView android:id="@+id/LblTituloHistoria" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/titulo_historia" />
<ImageView android:id="@+id/ImgFoto"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/itm" />
ARCHIVO: res / layout / activity_historia.xml
Ejemplo (10): Interfaz Gráfica 2
![Page 16: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/16.jpg)
16
Declaramos nuest ro arch ivo XML con los componentes anteriores.
<TextView android:id="@+id/LblHistoria" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/historia" />
<Button android:id="@+id/BtnRegresar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/boton_regresar" />
</LinearLayout>
ARCHIVO: res / layout / activity_historia.xml
Ejemplo (11): Interfaz Gráfica 2
![Page 17: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/17.jpg)
17
<string name="titulo_historia">Historia del ITM (1965-2013)</string><string name="historia">Con inusitado júbilo y expectación,
el día 6 de abril de 1964, siendo Gobernador del Estado el Lic. Agustín Arriaga Rivera, y en las lomas de Santiaguito, se colocó la primera piedra de lo que sería un año más tarde el Instituto Tecnológico Regional de Morelia.</string>
<string name="boton_regresar">Regresar a la pantalla principal</string>
ARCHIVO: res / values / strings.xml
Agregamos el contenido de las cadenas que aparecerán en nuestra segunda pantalla:
Ejemplo (12): Manejo de Cadenas
![Page 18: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/18.jpg)
18
Debemos copiar la foto (itm.jpg) en el directorio adecuado (res/drawable) para que nuestra vista (activity_historia.xml) lo pueda cargar:
ARCHIVO: res / drawable / itm.jpg
Ejemplo (13): Imagen
![Page 19: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/19.jpg)
19
Por último sólo falta agregar el manejo del evento del botón de nuestra segunda pantalla:
ARCHIVO: src / HistoriaActivity.java
Ejemplo (14): Manejo del evento
final Button BtnRegresar = (Button)findViewById(R.id.BtnRegresar);
BtnRegresar.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //Creamos el Intent Intent intent = new Intent(HistoriaActivity.this, MainActivity.class); startActivity(intent); } });
![Page 20: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/20.jpg)
20
Codigo completo
![Page 21: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/21.jpg)
21
package com.example.android_informacion_itm;
import android.os.Bundle;import android.app.Activity;import android.view.Menu;
import android.widget.Button;import android.view.View.OnClickListener;import android.content.Intent;import android.view.View;
public class MainActivity extends Activity {
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);
//Obtenemos una referencia a los controles de la interfazfinal Button BtnHistoria = (Button)findViewById(R.id.BtnHistoria);
//Implementamos el evento "click" BtnHistoria.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //Creamos el Intent Intent intent = new Intent(MainActivity.this, HistoriaActivity.class); startActivity(intent); } });}
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
![Page 22: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/22.jpg)
22
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >
<TextView android:id="@+id/LblTitulo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/titulo" />
<TextView android:id="@+id/LblDescripcion" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/descripcion" />
<Button android:id="@+id/BtnHistoria" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/boton_historia" />
</LinearLayout>
![Page 23: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/23.jpg)
23
package com.example.android_informacion_itm;
import android.os.Bundle;import android.app.Activity;import android.view.Menu;
import android.widget.Button;import android.view.View.OnClickListener;import android.content.Intent;import android.view.View;
public class HistoriaActivity extends Activity {
@Overrideprotected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);setContentView(R.layout.activity_historia);
final Button BtnRegresar = (Button)findViewById(R.id.BtnRegresar);
BtnRegresar.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //Creamos el Intent Intent intent = new Intent(HistoriaActivity.this, MainActivity.class); startActivity(intent); } });
}
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.historia, menu);return true;
}}
![Page 24: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/24.jpg)
24
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >
<TextView android:id="@+id/LblTituloHistoria" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/titulo_historia" />
<ImageView android:id="@+id/ImgFoto"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/itm" />
<TextView android:id="@+id/LblHistoria" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/historia" />
<Button android:id="@+id/BtnRegresar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/boton_regresar" />
</LinearLayout>
![Page 25: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/25.jpg)
25
<?xml version="1.0" encoding="utf-8"?><resources>
<string name="app_name">android_informacion_itm</string> <string name="action_settings">Settings</string> <string name="titulo">Sistema de Información del ITM</string> <string name="descripcion">Este es un sistema de información acerca del ITM</string> <string name="boton_historia">Historia del ITM</string> <string name="title_activity_historia">HistoriaActivity</string> <string name="hello_world">Hello world!</string> <string name="titulo_historia">Historia del ITM (1965-2013)</string>
<string name="historia">Con inusitado júbilo y expectación, el día 6 de abril de 1964, siendo Gobernador del Estado el Lic. Agustín Arriaga Rivera, y en las lomas de Santiaguito, se colocó la primera piedra de lo que sería un año más tarde el Instituto Tecnológico Regional de Morelia.</string>
<string name="boton_regresar">Regresar a la pantalla principal</string>
</resources>
![Page 26: “Android – Manejo de Eventos” · 3 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase “View” que contiene un método “callback”](https://reader031.vdocuments.pub/reader031/viewer/2022022021/5ba01b0109d3f2da5b8c81d9/html5/thumbnails/26.jpg)
Rogelio Ferreira Escutia
Instituto Tecnológico de MoreliaDepartamento de Sistemas y Computación
Correo: [email protected] [email protected]
Página Web: http://antares.itmorelia.edu.mx/~kaos/http://www.xumarhu.net/
Twitter: http://twitter.com/rogeplusFacebook: http://www.facebook.com/groups/xumarhu.net/