Tutorial Android: eventos con OnClickListener implementado en un boton
Los eventos los encontramos en muchos lenguajes de programación, para ello en Android tenemos disponibles un gran numero distinto de eventos que podemos tener, desde el touch o clicks, hasta eventos generados por movimientos en un accelerometro, termometro u otros sensores de los dispositivos Android.
En el siguiente video podras encontrar como poder implementar uno de los eventos mas simples, el OnClickListener, para escuchar eventos de clicks realizados sobre un boton.
Videotutorial:
Codigo de apoyo:
package com.practicaOnclick; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.TextView; public class PracticaOnClickListenerActivity extends Activity implements OnClickListener{ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); View boton = findViewById(R.id.botonID); boton.setOnClickListener(this); } @Override public void onClick(View v) { if(v.getId()==findViewById(R.id.botonID).getId()) { TextView texto = (TextView)findViewById(R.id.textoID); texto.setText("Hola que tal, haz oprimido el boton"); } } }
XML del archivo main.xml(Layout)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textoID" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Button android:id="@+id/botonID" android:layout_width="164dp" android:layout_height="wrap_content" android:text="Button" /> </LinearLayout>
ola necesito ayuda con este problema:
Usted fue contratado por una empresa para desarrollar un software de gestión de actividades del equipo comercial para un negocio.
Las entidades definidas para este software son:
o Persona: Es la entidad que representa una persona en particular con la cual se podrán hacer actividades y estarán o no asignadas a un negocio.
o Organización: Es la entidad que representa una empresa con la cual se podrán hacer actividades y estarán o no asignadas a un negocio.
o Negocio: Es la entidad que representa un negocio, puede tener asignado personas u organizaciones.
o Actividad: Es la entidad que representa una actividad que se puede realizar con una persona, un negocio, o una organización.
Las funcionalidades que debe cumplir el software son las siguientes:
o El software permitirá registrar, consultar y modificar los datos de una persona. Los datos de una persona son: nombre, teléfono y correo electrónico.
o El software permitirá registrar, consultar y modificar los datos de una organización. Los datos de una organización son: nombre, dirección y teléfono.
o El software permitirá registrar, consultar y modificar los datos de un negocio. Los datos de un negocio son: título, descripción, nombre de la organización, valor, nombre de la persona, fecha estimada de cierre y estado.
o El software permitirá registrar, consultar y modificar una actividad. Los datos de una actividad son: descripción, tipo, fecha, hora, duración, nombre de la persona, nombre de la organización y nombre del negocio.
Datos adicionales:
o Todos los datos de las entidades son cadena de textos excepto el valor del negocio, que es numérico de tipo doble.
Realizar la definición de clases para cada entidad de la siguiente manera:
o Nombre Clase: Se define el nombre de la clase.
o Atributos: Se define los atributos de la clase con su respectivo tipo de dato.
Hola, lo pudiste hacer ? estoy en eso… y estoy complicado
Hola estoy realizando el mismo proyecto para la universidad, y necesito ayuda con este codigo.
gracias.
Tengo esta e baluacion gracias por su alluda
Durante la presente actividad, definiremos las entidades participantes en el sistema de información de gestión de actividades del área comercial de una empresa. La planeación y la definición de las características de nuestro sistema es una actividad clave que debemos hacer siempre antes de iniciar cualquier desarrollo. Aquí llevaremos a cabo este proceso.
Al finalizar este proyecto, usted habrá puesto en práctica lo siguiente:
Describir de manera general la historia de los diferentes lenguajes de programación
Describir los conceptos claves de la programación orientada a objetos
Conocer la terminología relacionada con la programación orientada a objetos
Describir y conocer los conceptos de encapsulación, abstracción, herencia y polimorfismo
Describir los diferentes métodos de búsqueda y ordenamiento
Conocer y describir las colecciones: Listas, Conjuntos y Mapas y las estructuras de datos
Describir las características y definición de la clase Arrays
Instrucciones para completar el proyecto
Paso 1
Usted fue contratado por una empresa para desarrollar un software de gestión de actividades del equipo comercial para un negocio.
Las entidades definidas para este software son:
Persona: Es la entidad que representa una persona en particular con la cual se podrán hacer actividades y estarán o no asignadas a un negocio.
Organización: Es la entidad que representa una empresa con la cual se podrán hacer actividades y estarán o no asignadas a un negocio.
Negocio: Es la entidad que representa un negocio, puede tener asignado personas u organizaciones.
Actividad: Es la entidad que representa una actividad que se puede realizar con una persona, un negocio, o una organización.
Las funcionalidades que debe cumplir el software son las siguientes:
El software permitirá registrar, consultar y modificar los datos de una persona. Los datos de una persona son: nombre, teléfono y correo electrónico.
El software permitirá registrar, consultar y modificar los datos de una organización. Los datos de una organización son: nombre, dirección y teléfono.
El software permitirá registrar, consultar y modificar los datos de un negocio. Los datos de un negocio son: título, descripción, nombre de la organización, valor, nombre de la persona, fecha estimada de cierre y estado.
El software permitirá registrar, consultar y modificar una actividad. Los datos de una actividad son: descripción, tipo, fecha, hora, duración, nombre de la persona, nombre de la organización y nombre del negocio.
Datos adicionales:
Todos los datos de las entidades son cadena de textos excepto el valor del negocio, que es numérico de tipo doble.
Realizar la definición de clases para cada entidad de la siguiente manera:
Nombre Clase: Se define el nombre de la clase.
Atributos: Se define los atributos de la clase con su respectivo tipo de dato.
Ej:
Entidad Animal
Nombre Clase: Animal
Atributos:
String nombre
String tipo
int numeroPatas
Paso 1
De acuerdo a la definición de clases de cada una de las entidades que se identificaron en el paso 1, codificar dichas clases con sus atributos y modificadores de acceso private, generando los métodos Getters y Setters de cada atributo.
Instrucciones para subir el proyecto
Una vez haya completado el proyecto, tiene que crear un folder comprimido y subirlo al curso. Siga los siguientes pasos para completar esta sección correctamente:
Primero, tiene que cambiar el nombre al folder que contiene los documentos del proyecto. Utilice el siguiente formato: NombreDelCurso_ProyectoFinal_PrimerNombre_PrimerApellido.zip Es sumamente importante que el folder lleve su primer nombre y apellido para poder identificarlo correctamente.
A continuación, debe de comprimir el folder.
Para comprimir el folder en Windows (hacerlo ZIP): Deberá posicionarse sobre el folder o carpeta que quiera comprimir, dar clic con el botón derecho del ratón y seleccionar “Enviar a: \ Send to” y buscar la opción de “Carpeta comprimida (en zip) \ Compressed (zipped) Folder”.
Para comprimir el folder en Mac (hacerlo ZIP): Deberá posicionarse sobre el folder o carpeta que quiera comprimir, dar clic mientras se oprime la tecla Control o dar clic con el botón derecho del ratón y seleccionar “Comprimir NombredelFolder \ Compress FolderName” en el menú contextual que aparece.
Una vez haya comprimido el folder, lo tiene que subir al curso. Para subir el ZIP al curso, siga los siguientes pasos:
Acceda la página Evaluación Final.
Haga clic en Añadir envío.
Agregue una descripción en la sección Texto en línea y adjunte el folder comprimido en la sección Envíos de archivo.
Haga clic en Guardar cambios.
Estatus de la entrega
Número de intento Éste es el intento 1.
Estatus de la entrega Enviado para calificar
Estatus de calificación No calificado
Criterio para calificar
Especificaciones
Experto: Las entidades definidas son las solicitadas. El estudiante propone entidades adicionales para el sistema de información del área comercial. —– Los tipos de datos solicitados son definidos adecuadamente. Se mejora los tipos de datos propuestos cambiándolos por unos mas adecuados. —– Los atributos de las clases son definidos adecuadamente. El estudiante propone nuevos tipos de datos adicionales a los usualmente asignados a este tipo de entidades. —– Los métodos “Getters” y “Setters” solicitados son definidos adecuadamente. El estudiante propone métodos adicinalesadicionales.
34 puntos
Avanzado: Las entidades definidas son las solicitadas. —– Se especifican los tipos de datos de manera correcta. —– Los atributos de las clases son definidos adecuadamente. —– Los métodos “Getters” y “Setters” solicitados son definidos adecuadamente.
29 puntos
Aprendiz: Las entidades definidas no son las solicitadas. Se definieron tres de cuatro de las entidades. —– Todos los tipos de datos se especificaron iguales. —– El estudiante omitió atributos básicos de las entidades. —– Hay errores en la definición de los métodos “Getters” y “Setters”.
24 puntos
Novato: Mas del 50% de las entidades no fueron definidas. —– Falta especificar algunos tipos de datos de acuerdo con lo solicitado para las entidades. —– Hay carencia de atributos básicos como ”nombre” para la clase persona. Se omiten mas del 50% de los atributos a definir. —– No se define alguno de los dósdos métodos solicitados.
19 puntos
Incumplimiento: Los criterios no se cumplen
0 puntos
Legibilidad
Experto: El código muestra excelente organización, y es muy fácil de seguir y entender. —– El uso de los espacios en blanco, líneas de separación e identación muestra un alto nivel de sofisticación y refinamiento en la escritura del código fuente. —– Excelente uso de las variables, asignando nombres a las mismas que ayudan a entender su propósito. —– Las funciones están bien definidas y usadas.
33 puntos
Avanzado: El código está organizado, se puede seguir y entender. —– El uso de los espacios en blanco, líneas de separación e identación sigue las mejores practicas. —– Las variables son definidas y utilizadas adecuadamente. —– Las funciones son definidas y utilizadas adecuadamente.
28 puntos
Aprendiz: El código está menos organizado, se puede seguir y entender con dificultad. —– El uso de los espacios en blanco, líneas de separación e identación no está implementado de la mejor manera. —– Las variables están definidas pero no se usan adecuadamente. —– Las funciones son definidas, pero algunas no se usan en la ejecución del programa o aplicación.
23 puntos
Novato: El código no está organizado, es muy difícil de seguir y entender. —– El uso de los espacios en blanco, líneas de separación e identación se usan muy poco. —– Los nombres de las variables no identifican con el uso de las mismas. —– Algunas funciones se definen, pero no son usadas adecuadamente.
18 puntos
Incumplimiento: El código presenta tal desorganización, que impide que la aplicación se ejecute. —– El uso de los espacios en blanco, líneas de separación e identación NO se usan para nada. —– No hay uso de funciones.
0 puntos
Eficiencia en el código
Experto: El código fuente es extremadamente fácil de editar y mantener.
33 puntos
Avanzado: El código es fácil de seguir, editar y mantener.
28 puntos
Aprendiz: El código es editable y se puede mantener, pero puede mejorarse mucho más.
23 puntos
Novato: El código es muy complicado de seguir, editar y mantener.
18 puntos
Incumplimiento: El código es imposible de editar.
0 puntos
Muy buenos tus tutoriales me han servido de mucho GRACIAS SALUDOS
Necesito validad un editText que si el codigo ingresado existe me muestre “encontrado” y si no “no encontrado”, el problema es que quiero que esto se ejecute cuando se clic en siguiente del teclado virtual del dispositivo, como puedo decirle que al presionar siguente o enter me haga ejecute mi metodo?
Hola Jorge, soy nuevo en esto y estoy preparando una aplicación sensilla, lo que no puedo hacer es lo siguiente, tengo 15 botones repartidos con scrollview, y quisiera utilizar el valor del seleccionado, vale decir si pulso el boton uno, poder manipular libremente en otra parte de mi programa. Lo intente con un array y otras formas pero no logro sacar fuera de esta funcion el valor obtenido, para uzarlo en otros distintos calculos. También lo había puesto con una barra tipo seekbar, pero tampoco puedo exportar el valor otenido para utilizarlo libremente.
Gracias.
Hola buen día, Quisiera saber si me puedes ayudar con proyecto. La duda que tengo es como hacer que la aplicación tenga un uso limite (por ejemplo que el usuario pueda ingresar 5 datos por día) te agradecería si me ayudaras con ejemplos o me pudieras explicar gracias.
Muy bien explicado, podrias tener mas tutoriales ! eres muy bueno ! si dispones de mas no me importaria que me enviaras un correo diciendome donde los puedo ver o los enlaces
Gracias
Buenas Jorge quisiera pedirte un consejo tengo dos clases en android el tema es el siguiente supongamos que tienes la calculadora basica que hiciste en android como puedo hacer que el resultado de la suma de los dos atributos se vea en una clase distinta osea clase A tiene a+b pero quiero que el resultado lo muestre en la clase B en un textView podria por favor ayudarme gracias.
ESTA CHIDOS TUS VIDEOS JORGE V LLEGARAS TAN LEJOS TE LO ASEGURO
Hola amigos alguien de ustedes me puede explicar como hacer una aplicación para poder firmar con el dedo en la pantalla de en nuestro dispositivo.
Es una tarea de la escuela y no se como hacerla…
Fue de una gran ayuda muchas graciassss¡¡
Excelente tema. Me sirvió de mucha ayuda. Una explicación muy bien detallada y de forma sencilla. Gracias.
Hola, amigo.
Quisiera saber como puedo hacer para que mi app simule el onClick de un Botón sin necesidad de que el usuario lo presione, se puede hacer esto o que pudiera hacer. Gracias por la ayuda.
Jorge y ofreces servicios de programador freelance?
Hola Oswaldo, quizá yo te puda ayudar, que necesitas ?
Hola, no podrías hacer un vídeo en donde crees un reproductor musical con el botón aleatorio y pause.
parcero!!!!!!! muchas gracias… yo tambn soy colombiano y creo que esta es la primera vez que comento en algo… gracias por este codigo… estaba tostado con mi final de POO ^_^
(if(v.getId()==findViewById(R.id.botonID).getId()))
le eche cabeza pero ni idea hasta que llegue a tu pag ^_^
gracias nuevamente
hola, una pregunta, estoy creando un juego muy sencillo, no se como matar los procesos automáticamente cuando se pierde el juego.
gracias de antemano.
hola gracias por los vídeos me han sido de mucha ayuda…