Creando un Bot (Android) para una tienda de Postres (Dialogflow V2 + Kotlin 1.3.72) – Parte 3

6 minuto(s)

Demo

En este Post continuaremos con la parte anterior de este tutorial llamada Creando un Bot (Android) para una tienda de Postres (Dialogflow V2 + Kotlin 1.3.72) – Parte 2 en donde creamos el Layout Principal para la actividad principal de la aplicación, con sus elementos, colores, botones y demás elementos correspondientes, en esta parte 3 vamos a escribir el código Kotlin para nuestra aplicación.

Partes

Antes de continuar te invito a leer los siguientes artículos:

Asimismo te invito a escuchar el Podcast: “Donde buscar ayuda sobre Programación”:

Spotify SoundCloud

Bien ahora continuemos con el Post: Creando un Bot (Android) para una tienda de Postres (Dialogflow V2 + Kotlin 1.3.72) – Parte 3. 

En esta Parte 3 comenzaremos trabajando con el archivo MainActivity.kt, este archivo fue generado por Android Studio automáticamente, cuando creamos el nuevo proyecto para esta aplicación.

Actividad Principal

En el directorio principal del proyecto se encuentra el archivo en formato Kotlin llamado MainActivity.kt


Abro el archivo MainActivity.kt  y antes de la clase MainActivity voy a importar los siguientes elementos, asimismo creo 3 variables llamadas, USUARIO, BOT y ENTRADA_DE_VOZ.


Dentro de la clase MainActivity y antes del ciclo de vida o método onCreate crearé las variables uuid para generar un string aleatorio, cliente, session y la variable asistente_voz.


Dentro del método onCreate voy a crear una variable llamada scrollview en ella llamo al ScrollView que definí en la Parte 2 de este tutorial, en el archivo activity_main.xml


El ScrollView va  ser el contenedor en donde se desplazarán los mensajes entre el usuario y el bot, dentro de la aplicación.

Luego creo una variable con el nombre cajaMensajes y en ella llamo al EditTex que es la caja en donde el usuario escribirá el mensaje para enviarlo al chat, este EditText, le dimos el id cajadetexto en la Parte 2 de este tutorial, en el archivo activity_main.xml

El usuario se coloca en el EditText, escribe un mensaje y presiona la tecla Enter para enviarlo, este evento lo manejamos con KeyEvent.ACTION_DOWN de Android y posteriormente con KeyEvent.KEYCODE_DPAD_CENTER en donde llamamos al método enviarMensaje(enviar) el cual crearemos más adelante y le estamos pasando el botón o ImageView que creamos también en la Parte 2 de este tutorial, en el archivo activity_main.xml


Para terminar con el código del método o ciclo de vida onCreate(), pasamos setOnClickListener() al botón para enviar los mensajes de texto y también al botón del micrófono que sirve para enviar mensajes de audio en el chat, este botón llama la función enviarMensajeMicrofono() la cual creamos más adelante y por último llamamos a las funciones iniciarAsistente() y iniciarAsistenteVoz(), las cuales crearemos más adelante.


Ahora creare la función iniciarAsistente() la cual llamamos en la parte final del método onCreate(), en la función iniciarAsistente() exactamente haré uso de las credenciales del proyecto que crearé más adelante en Dialogflow (Google Cloud Platform) y no quiero salirme del tema, estamos trabajando en el código de la actividad principal (MainActivity.kt).

Puedes ver en el código he colocado comentarios para explicar que hace cada línea del código.


En el código anterior de la función iniciarAsistente() puedes ver que menciono sobre el archivo de credenciales credenciales.json, este archivo lo crearemos mas adelante, primero terminemos con el código de la actividad principal (MainActivity.kt).

Pasaré a crear la función iniciarAsistenteVoz() la cual llamamos también al final del método o ciclo de vida onCreate(). Dentro de la función iniciarAsistenteVoz() básicamente iniciamos el asistente de voz, cuando el usuario envíe un mensaje de audio al Bot.


La siguiente función que crearemos será enviarMensaje(), en ella recepcionamos el mensaje del usuario y lo procesamos, en el código he colocado comentarios para explicar que hace cada línea del código.


Terminado el ciclo de vida o método onCreate(), llamamos a la función enviarMensajeMicrofono() la cual gestiona el mensaje de audio que el usuario envía presionando el botón del micrófono.


Bien hasta aquí terminamos la tercera parte del tutorial en donde creamos el código de los primeros 5 métodos del archivo MainActivity.kt y en la Cuarta Parte terminaremos de crear los demás métodos que faltan.

Ten Paciencia, lo que quiero es que entiendas todo el proceso para Crear este Proyecto y no llenarte el capitulo de mucho contenido porque te puedes marear y no tendrás un óptimo aprendizaje. 

Nota (s)

  • En el siguiente capitulo terminaremos de crear los demás métodos del archivo MainActivity.kt
  • El código expuesto en este capitulo del tutorial pueden cambiar, esto no depende de mi, si no de la empresa que dan soporte a Android Studio, y Kotlin que suelen cambiar sus tecnologías en futuras versiones.
  • No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo. 

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.