“Android – Manejo de Eventos”

Slides:



Advertisements
Presentaciones similares
Curso de Java “Java para Web” Rogelio Ferreira Escutia.
Advertisements

Evolución de la Tecnologías para el Desarrollo de Aplicaciones Distribuidas Rogelio Ferreira Escutia.
Fernando Alonso Blázquez Graphic User Interfaces 25 de Marzo de 2004.
Cetis No. 119 Profa. Graciela Prado Becerra
SAXXON SAXPADM726 - TABLET DE 7 PULGADAS/4 GB/TOUCH/ANDROID 4
Desarrollo con Android
Programación “Conducida por eventos” Event-driven programming
Android.
Como Utilizar Slide en tu Blog Una guía Rápida. PROMEDU Lic. Lina Bosch Ing. Javier Argachá
Calculadora en vb.net Ing. Vanessa Borjas.
Cruz Roja Mexicana Delegación León Curso de Introducción a Microsoft Windows II Francisco Jorge Valdovinos Barragán Junio
Android – Interface Gráfica Rogelio Ferreira Escutia.
Instituto Tecnológico Superior de Calkiní Ingeniería en Sistemas Computacionales TÓPICOS DE PROGRAMACIÓN MÓVIL David Enrique Ochoa Díaz Licenciatura en.
310 Diálogos de alerta. Un diálogo es una pequeña ventana que pide al usuario que tome una decisión o introduzca información adicional. Un diálogo no.
En esta fase del editor de texto mostraremos los avances que ha obtenido el equipo a lo largo de estas semanas. Así como las clases, eventos, botones,
Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO330.
MouseListener y MouseMotionListener SUSANA CAROLINA VILLA TORRES.
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
DIAMANTE ACADÉMICO MANUAL
Instructivo para uso de la Agenda vía WEB Escuela Interamericana de Bibliotecología M.U agenda Ver 1.0 nov2010.
“Android – Hola Mundo” Rogelio Ferreira Escutia. 2 Creación del Proyecto.
La Universidad del Inglés E-Learning Platform Macmillan English Campus.
ENTORNO GRÁFICO DE VISUAL BASIC 2013
Proceso de Conversión de Notas Finales en el Sistema de Aprendizaje Interactivo a Distancia de la UMC (SAID). TUTORIAL PARA PROFESORES.
DESARROLLO DE APLICACIONES MOVILES I. Temas – CheckBox – Spinner.
EMULADOR.  Una vez tengamos el proyecto listo para ejecutar, entra en escena el emulador de Android.  Éste proporciona una vista especial para comprobar.
Proceso de Conversión de Notas Finales en el Sistema de Aprendizaje Interactivo a Distancia de la UMC (SAID). TUTORIAL PARA PROFESORES.
ANDROID ING.IVAN PETRLIK AZABACHE. COMPONENTES BASICOS DE TIPO VIEW FORM WIDGETS.
INTRODUCCIÓN A:.
DESARROLLO DE APLICACIONES EN JAVA EN LA PLATAFORMA ANDROID
Sintaxis Completa los siguientes esquemas: Esquema de excepción Excepción Definición Tipos Implementación En el lenguaje Java, excepción es un tipo de.
DESARROLLO DE APLICACIONES MOVILES I. Tema – ListView.
Hermilia Molina Acevedo
Manejo de Eventos. Lo básico para manejo de eventos Cuando se realiza una interacción con el programa, se envía un evento. Es fundamental su comprensión.
“Patrones de Radiación” Rogelio Ferreira Escutia.
Programación de Dispositivos Móviles “Conceptos de J2ME” Rogelio Ferreira Escutia.
1 Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO329/ELO330.
“Programando con J2ME” Rogelio Ferreira Escutia. 2 MIDlet mínimo.
O3 Report. 2 El O3 Report  El O3 Report es una herramienta que permite crear informes que incluyen una o más vistas del mismo cubo, con la posibilidad.
1 TEMA 1. Diseño de interfaces gráficas 1.Introducción 2.Componentes de la interfaz 3.Programación dirigida por eventos 4.Gestores de ubicación 5.Primitivas.
¿Cómo hacer un Login conectado a una base de datos en Access?
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES.
DESARROLLO DE APLICACIONES MOVILES I SEMANA 12. Temas – ListView – OnItemClickListener.
Preparándose para el Futuro Por: Rogelio Ferreira Escutia Elementos para mejorar tu vida Profesional (que no te enseñarán en la escuela!!!)
Ir a MENU (superior derecha):
Sistema de Alerta Rápida Interna SINAVEF. Sistema de alertas SINAVEF Al ingresar a la parte privada del sistema de alerta nos encontramos con el menú.
“Reflexiones para el Primer Día de Clases”
¿Cómo programar un Botón para agregar registros a una base de datos?
Sistema de Alerta Fitosanitario. Al ingresar a la parte privada del sistema de alerta nos encontramos con el menú principal el cual nos mostrará las siguientes.
C APACITACIÓN JAVA – ITM 2012 Sesión 1. INTRODUCCIÓN AL NETBEANS Creación de una calculadora con NetBeans.
1 Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO329/ELO330.
Introducción al desarrollo de aplicaciones en Android.
“Conceptos Básicos” Rogelio Ferreira Escutia. 2 Panorama Mundial Actual.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Patricia López & Julio Medina Computadores y Tiempo Real Santander, 2013 G80 - Advanced Computation 1 Generación de Código con BOUML.
“ CSS - Estructura ” Rogelio Ferreira Escutia. 2 Estuctura de herencia.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
“Teoría del Color” Rogelio Ferreira Escutia. Uso del Color 2.
“Analógica: amplitud, frecuencia y fase.” Rogelio Ferreira Escutia.
“Taller de Videojuegos con HTML 5” Rogelio Ferreira Escutia Tengo una idea!!!
“Android – Geolocalización”
“HTML – Manejo de Texto”
“Instalación” Rogelio Ferreira Escutia.
“Android – Distribución de Componentes”
“Android – Manejo de Eventos”
Almacenamiento con File I/O Ejemplo Rogelio Ferreira Escutia
“Android – Componentes Básicos de la Interface”
“Android – Entrada y Procesamiento de Datos”
“Android - Estructura”
“Android – Gráficos” Rogelio Ferreira Escutia.
Transcripción de la presentación:

“Android – Manejo de Eventos” Rogelio Ferreira Escutia

Tipos de Eventos 2

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

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

Ejemplo de manejo de Eventos 5

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

Ejemplo (2): Interfaz Gráfica Declaramos nuestro archivo XML con 2 textos y un botón: ARCHIVO: res / layout / activity_main.xml <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" /> 7

Ejemplo (3): Interfaz Gráfica Declaramos nuestro archivo XML con 2 textos y un botón: ARCHIVO: res / layout / activity_main.xml <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:text="@string/boton_historia" /> </LinearLayout> 8

Ejemplo (4): Manejo de Cadenas Agregamos las cadenas que tienen la descripción en pantalla y la cadena del botón: ARCHIVO: res / values / strings.xml <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> 9

Ejemplo (5): Manejo del evento Obtenemos 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

Ejemplo (6): Manejo del evento Implementamos 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

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

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

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

Ejemplo (10): Interfaz Gráfica 2 Declaramos nuestro archivo XML con los componentes anteriores. ARCHIVO: res / layout / activity_historia.xml <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:src="@drawable/itm" /> 15

Ejemplo (11): Interfaz Gráfica 2 Declaramos nuestro archivo XML con los componentes anteriores. ARCHIVO: res / layout / activity_historia.xml <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:text="@string/boton_regresar" /> </LinearLayout> 16

Ejemplo (12): Manejo de Cadenas Agregamos el contenido de las cadenas que aparecerán en nuestra segunda pantalla: ARCHIVO: res / values / strings.xml <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> 17

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

Ejemplo (14): Manejo del evento Por ú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

Codigo completo 20

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

<LinearLayout xmlns:android="http://schemas. 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" /> android:id="@+id/LblDescripcion" android:text="@string/descripcion" /> <Button android:id="@+id/BtnHistoria" android:text="@string/boton_historia" /> </LinearLayout> 22

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

<LinearLayout xmlns:android="http://schemas. 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:src="@drawable/itm" /> android:id="@+id/LblHistoria" android:text="@string/historia" /> <Button android:id="@+id/BtnRegresar" android:text="@string/boton_regresar" /> </LinearLayout> 24

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

Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Correo: rogelio@itmorelia.edu.mx rogeplus@gmail.com Página Web: http://antares.itmorelia.edu.mx/~kaos/ http://www.xumarhu.net/ Twitter: http://twitter.com/rogeplus Facebook: http://www.facebook.com/groups/xumarhu.net/