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

5 minuto(s)

Demo

La Parte anterior Creando un Bot (Android) para una tienda de Postres (Dialogflow V2 + Kotlin 1.3.72) – Parte 4 nos puso a trabajar con código Kotlin, creamos 6 métodos en nuestra actividad, específicamente en el archivo (MainActivity.kt) para que la aplicación funcione sin problemas, en esta 5ta parte vamos a creare el código para 2 archivos que son necesarios para que nuestra aplicación funcione, estos son solicitarTarea.kt y Util.kt, vamos con ello. 

Partes

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

Asimismo te invito a escuchar el Podcast: “Porque Algunos Desarrolladores no Terminan El Proyecto de Un Cliente”:

Spotify: Sound Cloud:

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

Cuando el usuario se comunica con el Bot, de fondo se realizan ciertas tareas que procesan los mensajes entre ambos usuarios, para que estas tareas de fondo se lleven acabo vamos a crear un archivo kotlin a continuación.

Tarea de Fondo

Creo un archivo llamado solicitarTarea.kt en app > java > com.example.tiendapostresbot > solicitarTarea.kt


Dentro del archivo solicitarTarea.kt importo las siguientes dependencias.


A la clase solicitarTarea le agregamos AsyncTask de Android, y comenzamos creando 4 variables llamadas actividad, sesion, sesionesCliente y entradaConsulta, dentro de cada variable le coloco valores de los métodos que usare de Android como Activity, SessionName, SessionsCliente y QueryInput.


Ahora implementaremos el método doInBackground() de Android para ejecutar una tarea o hilo de fondo, dentro de el usamos try{} para realizar una o varias tarea de fondo, se podría decir que varias ya que constantemente se estará enviando mensajes entre el usuario y el bot en el chat.  Por ultimo si hay algún erro, devolvemos una excepción con catch{}.


Por último hago uso del método onPostExecute de Android que ejecuta los hilos o tareas luego que se ejecuta el método anterior llamado doInBackground de Android.

En el interior de este método pasamos el resultado al método validar() que se encuentra en la actividad principal o archivo MainActivity.kt


A continuación el código completo del archivo solicitarTarea.kt

Ocultando el Teclado en el Chat

Cuando el usuario decide enviar un mensaje de audio o no decide usar el teclado para escribir mensajes de texto en el chat, este teclado lo vamos a ocultar de la interface del chat, para esto crearé un archivo de tipo objeto de kotlin llamado configTeclado.kt, este archivo lo creo en app > java > com.example.tiendapostresbot > configTeclado.kt


En el archivo configTeclado.kt comienzo importando las siguientes dependencias.


Dentro del objeto configTeclado creo una función con el nombre ocultarTeclado(), y dentro de ella he agregado una variable llamada metodoentrada la cual la uso con otros métodos. En el código he colocado comentarios para explicar que hace cada parte del código.


Por ultimo crea otra función con el mismo nombre que la anterior es decir ocultarTeclado(), pero en esta función voy a ejecutar la función anterior haciendo uso de try{} y si hay algún error muestro una excepción con catch{}


Bien hasta aquí terminamos esta Parte 5, en donde hemos creado el código para el archivo o clase solicitarTarea.kt y también para el objeto o archivo configTeclado.kt 

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 la siguiente Parte ahondaremos a detalle la integración entre nuestra aplicación y Dialogflow (Herramienta de Inteligencia Artificial y Aprendizaje Automático), entre otros detalles.
  • 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.