“Android – Manejo de Eventos”

1 “Android – Manejo de Eventos”Rogelio Ferreira Escutia ...
Author: Rocío Chavana
0 downloads 2 Views

1 “Android – Manejo de Eventos”Rogelio Ferreira Escutia

2 Tipos de Eventos 2

3 Escuchando los eventosUn 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. 3

4 Diferentes tipos de detectores de eventosonClick() 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. 4

5 Ejemplo de manejo de Eventos5

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

7 Ejemplo (2): Interfaz GráficaDeclaramos nuestro archivo XML con 2 textos y un botón: ARCHIVO: res / layout / activity_main.xml xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > android:layout_width="wrap_content" android:layout_height="wrap_content" /> 7

8 Ejemplo (3): Interfaz GráficaDeclaramos nuestro archivo XML con 2 textos y un botón: ARCHIVO: res / layout / activity_main.xml android:layout_width="wrap_content" android:layout_height="wrap_content" /> /> 8

9 Ejemplo (4): Manejo de CadenasAgregamos las cadenas que tienen la descripción en pantalla y la cadena del botón: ARCHIVO: res / values / strings.xml Sistema de Información del ITM Este es un sistema de información acerca del ITM Historia del ITM 9

10 Ejemplo (5): Manejo del eventoObtenemos una referencia a los controles de la interfaz (declaración del botón) ARCHIVO: src / MainActivity.java final Button BtnHistoria = (Button)findViewById(R.id.BtnHistoria); 10

11 Ejemplo (6): Manejo del eventoImplementamos el evento “click” ARCHIVO: src / MainActivity.java BtnHistoria.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //Creamos el Intent Intent intent = new Intent(MainActivity.this, HistoriaActivity.class); startActivity(intent); } }); 11

12 Ejemplo (7): Nueva PantallaCuando 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). 12

13 Ejemplo (8): Nueva PantallaLa 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). 13

14 Ejemplo (9): Nueva PantallaAsí se verá nuestra nueva pantalla: 14

15 Ejemplo (10): Interfaz Gráfica 2Declaramos nuestro archivo XML con los componentes anteriores. ARCHIVO: res / layout / activity_historia.xml xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > android:layout_width="wrap_content" android:layout_height="wrap_content" /> /> 15

16 Ejemplo (11): Interfaz Gráfica 2Declaramos nuestro archivo XML con los componentes anteriores. ARCHIVO: res / layout / activity_historia.xml android:layout_width="wrap_content" android:layout_height="wrap_content" /> /> 16

17 Ejemplo (12): Manejo de CadenasAgregamos el contenido de las cadenas que aparecerán en nuestra segunda pantalla: ARCHIVO: res / values / strings.xml Historia del ITM ( ) 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. Regresar a la pantalla principal 17

18 Ejemplo (13): Imagen 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 18

19 Ejemplo (14): Manejo del eventoPor último sólo falta agregar el manejo del evento del botón de nuestra segunda pantalla: ARCHIVO: src / HistoriaActivity.java 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); } }); 19

20 Codigo completo 20

21 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 { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Obtenemos una referencia a los controles de la interfaz final Button BtnHistoria = (Button)findViewById(R.id.BtnHistoria); //Implementamos el evento "click" BtnHistoria.setOnClickListener(new OnClickListener() { public void onClick(View v) { //Creamos el Intent Intent intent = new Intent(MainActivity.this, HistoriaActivity.class); startActivity(intent); } }); public 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; 21

22 android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > android:layout_width="wrap_content" android:layout_height="wrap_content" /> /> /> 22

23 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 { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_historia); final Button BtnRegresar = (Button)findViewById(R.id.BtnRegresar); BtnRegresar.setOnClickListener(new OnClickListener() { public void onClick(View v) { //Creamos el Intent Intent intent = new Intent(HistoriaActivity.this, MainActivity.class); startActivity(intent); } }); public 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; 23

24 android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > android:layout_width="wrap_content" android:layout_height="wrap_content" /> /> /> /> 24

25 25 android_informacion_itm Settings Sistema de Información del ITM Este es un sistema de información acerca del ITM Historia del ITM HistoriaActivity Hello world! Historia del ITM ( ) 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. Regresar a la pantalla principal 25

26 Rogelio Ferreira EscutiaInstituto Tecnológico de Morelia Departamento de Sistemas y Computación Correo: Página Web: Twitter: Facebook: