Como implementar la función Compartir con Kotlin en Android Studio 3.3

Kotlin

Demo Descargar

Las aplicaciones móviles en la actualidad tienen la tendencia en donde los usuarios quieren compartir casi todo lo que ven y específicamente un producto, imagen, video, publicación, etc. que les parece bueno compartirlo, en Android podemos crear la funcionalidad que permita compartir un elemento de nuestra aplicación, vamos a crear esta funcionalidad usando Kotlin el cual es el lenguaje de Programación del futuro para crear aplicaciones Android, si no conoces Kotlin te recomendamos leer nuestro artículo Que es Kotlin y otros detalles.

Para empezar vamos a crear una Actividad en blanco (Empty Activity), dale soporte para Lenguage de Programación Kotlin en la opción Source Lenguage y de nombre ponle el que desees, nosotros le daremos el nombre PostresActivity, dale clic en Finish para crear el Activity

Ahora vamos a nuestro archivo de Manifiesto AndroidManifest.xml y damos los permisos para leer y escribir datos en almacenamientos externos en Android, agrega los siguientes permisos a tu archivo Manifest

Si deseas más información sobre estos 2 permisos te dejamos los siguientes enlaces a la página de Android Developers:

Bien ahora dentro del mismo archivo AndroidManifest.xml agregamos un proovedor o provider

Con este provider llamamos al archivo fileprovider.xml que se encuentra en la carpeta xml, solicitando acceso al contenido del directorio de imágenes en la carpeta recursos o res de nuestro proyecto.

Bien ahora en la carpeta de recursos o res, crea una carpeta con el nombre xml y dentro de esta carpeta crea el archivo fileprovider.xml

Dentro del archivo fileprovider.xml pedimos acceder a la carpeta de imágenes del sistema, agregamos lo siguiente

Ahora escribimos los siguientes datos en nuestro archivo de Strings, abrimos nuestro archivo strings.xml que se encuentra en la carpeta res > values > strings.xml

Paso seguido creamos 4 elementos en nuestro Activity, agregaremos 2 ImageView (Imágenes) y 2 Button(Botones), abre el layout de tu Activity, para nuestro ejemplo este archivo de llama activity_main.xml este abrimos este archivo que se encuentra en la carpeta res > layout > activity_main.xml y agregamos los 4 elementos

Si vamos a la vista Diseño de nuestro layout deberíamos ver los elementos en el Activity, hemos agregado 2 imágenes una Gelatina de Fresa y una Torta de Chocolate y debajo de cada imagen un botón con el texto Compartir

Por ultimo vamos a trabajar con Kotlin en nuestro archivo MainActivity.kt este archivo se encuentra en la carpeta  java > com.example.holamundoappMainActivity.kt

Primero solicitamos los permisos para acceder al directorio de imágenes del sistema

El mismo código que usaremos para compartir la Gelatina de Fresa lo usaremos para compartir la Torta de Chocolate

Después de pedir permiso para acceder a la carpeta de imágenes procedemos a lanzar las opciones o aplicaciones por las cuales podemos compartir nuestra imagen.

Agrega lo siguiente, colocamos comentarios en donde explicamos que hacen las partes más importantes del código

La lógica para compartir la torta la imagen de la Torta de Chocolate es la misma que usamos en la Gelatina de Fresa, solo cambiamos las variables y datos que sean necesarios

Si lanzamos nuestra aplicación y presionamos el  Botón de compartir Gelatina de Fresa, Android nos lanza las aplicaciones disponibles con las que puedes compartir la imagen

Eso es Todo al inicio del Artículo hay una Demo en donde puedes ver el Proyecto en funcionamiento, así mismo si te quedaste con dudas, puedes descargar o clonar el código del repositorio alojado en nuestro Github.

Notas

  • Los Pasos mencionados en este tutorial pueden variar en el futuro, esto no depende de nosotros si no de los desarrolladores que dan soporte a Android Studio y Kotlin.

 

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

Newsletter

Suscríbete a Nuestro Boletín de Novedades:

(Luego de la suscripción no te va salir ningun mensaje. Solo revisa tu bandeja de Correo para confirmar tu suscripción)
* indicates required