En digitalDot intentamos acercar a todas las pantallas los mejores consejos de desarrollo para que todo el mundo tenga acceso a esta información. En esta ocasión os traemos cómo añadir Log in en Kotlincon Retrofit.
Es cierto que Kotlin ha aumentado en popularidad entre los desarrolladores de Android, pero para muchos es un leguaje extraño y lleno de misterios por resolver.
Para este ejemplo nos basaremos en el CMS de WordPress donde alejaremos la API y la base de datos de usuarios.
Cómo añadir log in en Kotlin con Retrofit
La API esta escrita en PHP y consistirá en un simple método de log in que comprueba los datos recibidos con los de la base de datos de WordPress y devuelve un JSON del usuario encontrado o un mensaje de error.
Nota: la API espera siempre el parámetro función que indica qué función debe ejecutar.
A continuación, crearemos un nuevo proyecto en Android Studio con la plantilla de Empty Activity
Nota: seleccionar Kotlin como lenguaje del nuevo proyecto
Añadimos las librerías necesarias para utilizar Retrofit en el archivo build.gradle (Module: app)
Y añadimos el permiso de Internet en el AndroidManifest.xml
Usaremos la siguiente interfaz para activity_main.xml
La interfaz consiste en dos campos de texto para introducir el email y contraseña, y un botón para realizar el inicio de sesión:
Crearemos un modelo de usuario (New->Kotlin file->Data class) llamado User de la siguiente forma:
Como se puede ver está compuesto por un ID (entero), un email (cadena) y una contraseña (cadena).
A continuación, crearemos la interfaz para contactar con la API (New->Kotlin file->Interface):
Con la función login definimos como va a ser la llamada (POST) a la API y qué parámetros le enviaremos:
funcion: para indicar que función queremos ejecutar, en este caso login.
email: el email introducido en el campo de texto.
password: la contraseña introducida en el campo de texto.
En la anotación @POST indicaremos la ruta relativa a la API. Y en el tipo Call<> indicaremos que tipo de respuesta esperamos recibir, en este caso una String ya que nuestra API no siempre devolverá un JSON.
A continuación, en el MainActivity.kt usaremos las siguientes variables globales:
En el método onCreate creamos el servicio mediante el método createApiService():
El método en cuestión:
En el onCreate también implementaremos la lógica para obtener el email y contraseña desde los campos de texto:
Por último crearemos el método executeLogin() que se encarga de hacer la llamada a la API y obtener su respuesta:
Primero creamos la llamada usando la el método declarado en nuestra interfaz pasándole los parámetros correspondientes.
Después ejecutamos dicha llamada con el método enqueue, dicho método se ejecuta de forma asíncrona por lo que no debemos preocuparnos de bloqueos.
En la función onResponse recibimos los datos que ha devuelto la API.
Primero comprobamos que la respuesta es correcta (response_code entre 200 y 300). Y con un try/catch intentamos convertir dichos datos en un JSON y mapearlo en la clase User, si falla es porque la API no ha devuelto un JSON sino un mensaje de error por lo tanto lo mostramos en la interfaz mediante un Toast.
Con esto ya tendríamos totalmente integrado nuestro log in en Kotlin con Retrofit donde quisiéramos. En digitalDot resolvemos todas tus dudas referidas al desarrollo de apps gracias a nuestro equipo de expertos en la materia. Para todas las tus consultas y peticiones con respecto al desarrollo de aplicaciones móviles no dudes en contactar con nuestra agencia de diseño web y desarrollo.
DigitalDot Servicios Informáticos, S.L. utiliza cookies propias y de terceros para mejorar nuestros servicios y mostrarte publicidad relacionada con sus preferencias mediante el análisis de tus hábitos de navegación. Puedes aceptarlas con el botón "Aceptar", rechazarlas en el botón "Rechazar" o configurarlas con el botón "Gestionar preferencias". Puedes consultar más información detallada sobre las cookies utilizadas en este sitio web desde nuestra política de cookies.
Funcional
Siempre activo
Las cookies funcionales son absolutamente imprescindibles para que el sitio web funcione correctamente. Estas cookies garantizan las funcionalidades básicas y las características de seguridad del sitio web, de forma anónima.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos.Las cookies estadísticas se utilizan para entender cómo interactúan los visitantes con el sitio web. Estas cookies ayudan a proporcionar información sobre las métricas del número de visitantes, la tasa de rebote, la fuente de tráfico, etc.
Marketing
Las cookies de marketing son necesarias para crear perfiles de usuario para enviar y personalizar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.