Cómo enviar un SMS con un clic de botón en Java
Time to read: 5 minutes
Twilio va de potenciar las comunicaciones y de hacerlo de forma cómoda y rápida en cualquier lenguaje.
Con la ayuda de Twilio y Java, puede enviar un mensaje rápido a alguien sin tener que usar el dispositivo móvil. El uso de Java también le ofrece la divertida oportunidad de crear interfaces gráficas de usuario (GUI) para complementar la experiencia del usuario en el envío de un SMS de una forma más divertida e interactiva.
En este artículo, implementará una pequeña GUI con botón que enviará un SMS al dispositivo móvil una vez que se haga clic.
Requisitos del tutorial
- Una cuenta de Twilio gratuita o de pago. Si es nuevo en Twilio, obtenga su cuenta gratuita ahora. (Si se registra a través de este enlace, Twilio le dará un crédito de $10 cuando realice la actualización).
- Algunos conocimientos previos de Java o ganas de aprender.
- Un teléfono móvil con servicio activo para probar el proyecto.
Configuración
Comenzaremos con la creación de un directorio para almacenar los archivos de nuestro proyecto. Dentro de la terminal favorito, ingrese a:
En este artículo, vamos a descargar la biblioteca independiente de ayuda de Twilio Java. Descargue el archivo jar aquí. La última versión de los archivos jar en el momento de publicar este artículo es twilio-8.18.0-with-dependencies.jar. Desplácese hacia abajo para descargar el archivo y guárdelo en el directorio del proyecto java_sms_button.
Comprar un número de teléfono de Twilio
Si aún no lo ha hecho, compre un número de Twilio para enviar el SMS.
Para hacer esto, inicie sesión en la consola de Twilio, seleccione números de teléfono y, después, haga clic en el signo más rojo para comprar un número de Twilio. Tengan cuenta que, si está utilizando una cuenta gratuita, utilizará el crédito de prueba para esta compra.
En la pantalla de comprar un número puede seleccionar el país y marcar SMS en el campo Capabilities (Capacidades). Si quiere solicitar un número de la región, puede ingresar el código de área en el campo Number (Número).
Haga clic en el botón Search (Buscar) para ver los números disponibles y, después, haga clic en “Buy” (Comprar) el número que le guste de los resultados. Después de confirmar la compra, haga clic en el botón Close (Cerrar).
Crear un GUI con botón
El objetivo es construir un botón clicable en una GUI para que un usuario pueda hacer clic para enviar un SMS a un número de teléfono móvil.
Cree un nuevo archivo llamado SMSButton.java en el directorio del proyecto y pegue el siguiente código para importar los paquetes necesarios para manejar los eventos:
El paquete javax.swing es la nueva versión del paquete AWT
que permite desarrollar aplicaciones GUI. El paquete es necesario para utilizar los componentes que crean botones para este proyecto. Si bien el paquete AWT
no se utiliza directamente, el paquete javax.swing
requiere el paquete java.awt.event para manejar los eventos del componente de botones.
Se creará una clase llamada SMSEventClicker
que implementa un ActionListener
. También se define el constructor de la clase para que el objeto GUI y las propiedades del botón puedan utilizarse cuando el usuario haga clic en el evento del botón SMS.
Antes de que este código se pueda compilar, se deben escribir las funciones para createButtonGUI()
y buttonProperties()
. Copie y pegue el siguiente código debajo del constructor de la clase:
Esta función utiliza la clase JFrame del paquete javax.swing
para crear el contenedor de la ventana GUI que mostrará y mantendrá oprimido el botón. Los elementos del panel de contenido incluyen el título, la visibilidad y los límites para determinar el ancho y el alto. Finalice la función con setDefaultCloseOperation
para detener la aplicación una vez que el usuario cierre la ventana.
Copie y pegue el siguiente código para definir la función buttonProperties
justo debajo de la función GUI del botón:
Del mismo modo, se llama de nuevo a la clase de frame para crear un botón con límites. Sin embargo, lo importante aquí es que el botón tiene que recibir instrucciones específicas sobre lo que debe hacer. El objetivo es que un usuario haga clic en el botón que envíe un SMS a un número de teléfono.
Anular la acción de pulsar el botón
Como se ha visto antes en la definición de la clase SMSEventClicker
, la interfaz ActionListener
está implementada. Esto permite a los desarrolladores determinar las acciones que se producen cuando un usuario hace clic en el botón contra el ActionEvent
.
Un método llamado actionPerformed()
se invoca cuando el usuario hace clic en el componente, por lo tanto, este método necesita ser anulado para poder implementar las nuevas instrucciones en su lugar.
Siga adelante y haga override del método al copiar y pegar el código debajo del código existente:
Reemplace <YOUR_PHONE_NUMBER>
y <YOUR_TWILIO_NUMBER>
por los números reales, con el formato E.164.
El método al que hicimo override inicializa la API REST de Twilio para enviar un SMS al número de teléfono personal desde el número de teléfono de Twilio. Esto es posible gracias a la creación de una nueva instancia message
del recurso Message
. Una vez enviado el mensaje, el SID del mensaje se imprime en el terminal para su consulta.
Guarde el archivo. No dude en agregar estas funciones y modificar la apariencia del contenedor de la ventana de la interfaz gráfica de usuario y las propiedades de los botones a su gusto.
Enviar un SMS con Java y Twilio
Para terminar el código y enviar el SMS a un número de teléfono, debe configurar el entorno con las credenciales de su cuenta Twilio y consultarlo dentro del código.
Puede encontrar las credenciales de su cuenta en la consola de Twilio.
Si utiliza macOS o Linux, ejecute los siguientes comandos para exportar las credenciales de la cuenta a un archivo twilio.env. Si decide confirmar este directorio del proyecto, asegúrese de no ingresar accidentalmente las credenciales en un repositorio público.
export
con set
, como se ve a continuación:
No dude en crear un archivo .env y .gitignore también para su comodidad.
Vuelva al archivo SMSButton.java y recupere las variables de entorno mediante la creación de una nueva clase pública que refleje el nombre del archivo. Copie la siguiente definición de clase y péguela debajo de la definición de la clase SMSEventClicker
:
Esta clase es necesaria tanto para recuperar las variables de entorno del sistema como para iniciar Twilio Client que utilizará las variables para que el SMS se pueda enviar con éxito.
Para finalizar la definición de la clase, se crea un objeto del SMSEventClicker
. Una vez compilado el código, el JVM comenzará a ejecutar el programa Java y se invocarán todas las definiciones de la GUI y de los botones definidos anteriormente en este artículo.
El código completo está en mi repositorio de GitHub para que pueda consultarlo.
Compilar y ejecutar el programa Java
Guarde el archivo y compile la clase SMSButton
escribiendo este comando en la terminal:
Si utiliza macOS o Linux, utilice el siguiente comando:
Para los desarrolladores de Windows, utilice el siguiente comando para activar la GUI en su escritorio:
Observe que la única diferencia entre los dos comandos es que el de Windows utiliza un punto y coma en su lugar.
En un momento, verá que aparece una pantalla con el título “Send an SMS” (Enviar un SMS). Luego, haga clic en el botón.
Después de hacer clic en el botón, compruebe si recibe un mensaje de texto en el teléfono.
¿Qué es lo siguiente para enviar SMS con Java?
¡Felicidades por haber escrito un programa en Java que envía un SMS una vez que el usuario hace clic en el botón de la pantalla!
Existe mucho más que puede hacer con Twilio y los numerosos paquetes de Java. Quizás también puede averiguar cómo responder a los SMS entrantes en Java con un clic en un botón.
Explora otros proyectos de Java con Twilio:
- Aprender a enviar SMS masivos con Twilio
- Hacer que el botón envíe un mensaje de WhatsApp con Java
- Permitir que el botón active una llamada de voz con Java y Twilio
Hágame saber acerca de los proyectos que está construyendo con Java y Twilio a través de mi correo electrónico.
Diane Phan es desarrolladora de software en el equipo de Developer Voices. Le encanta ayudar a los programadores a afrontar los desafíos que les impiden dar vida a los proyectos. Se puede comunicar con ella en dphan [at] twilio.com o en LinkedIn.
Related Posts
Related Resources
Twilio Docs
From APIs to SDKs to sample apps
API reference documentation, SDKs, helper libraries, quickstarts, and tutorials for your language and platform.
Resource Center
The latest ebooks, industry reports, and webinars
Learn from customer engagement experts to improve your own communication.
Ahoy
Twilio's developer community hub
Best practices, code samples, and inspiration to build communications and digital engagement experiences.