Entradas

Mostrando entradas de marzo, 2024

Gestión de Permisos en Jetpack Compose

      Una de las características más interesantes de cualquier dispositivo moderno es la gestión de permisos, que va a permitir a nuestros usuarios decidir si concede o no un permiso concreto a nuestra aplicación, viéndose modificado por tanto el comportamiento de nuestra app en base a esa decisión.     Para el caso concreto de android, se nos proporcionan multitud de posibilidades, pero google nos proporciona un repositorio de componentes / utilidades que, si bien aún están en fase de desarrollo, nos permite un control bastante bueno de ciertas características, estos componentes forman parte de los componentes Accompanist, de los cuales, muchos acaban formando parte del core de desarrollo, si bien otros, acaban siendo eliminados, ya que no se consideran excesivamente útiles.     En este artículo, vamos a ver un componente específico, y su correspondiente aplicación, que nos va a permitir la gestión  sencilla de los permisos de nuestra app.    Además vamos a encapsular este sistema de

Gestión de Permisos en Jetpack Compose

Imagen
      Una de las características más interesantes de cualquier dispositivo moderno es la gestión de permisos, que va a permitir a nuestros usuarios decidir si concede o no un permiso concreto a nuestra aplicación, viéndose modificado por tanto el comportamiento de nuestra app en base a esa decisión.     Para el caso concreto de android, se nos proporcionan multitud de posibilidades, pero google nos proporciona un repositorio de componentes / utilidades que, si bien aún están en fase de desarrollo, nos permite un control bastante bueno de ciertas características, estos componentes forman parte de los componentes Accompanist, de los cuales, muchos acaban formando parte del core de desarrollo, si bien otros, acaban siendo eliminados, ya que no se consideran excesivamente útiles.     En este artículo, vamos a ver un componente específico, y su correspondiente aplicación, que nos va a permitir la gestión  sencilla de los permisos de nuestra app.    Además vamos a encapsular este sistema de

Implementación de DecimalFormatSymbol en KMP

Imagen
Cuando desarrollamos para Multiplataforma, pueden ser necesarias algunas utilidades que damos por sentadas en desarrollo nativo (en el que disponemos de prácticamente toda la JVM). Una de estas utilidades, que vamos a necesitar para acceder a ciertos elementos de configuración del sistema numérico, es la clase DecimalFormatSymbol que, si bien tenemos disponible tanto para android como para la JVM, no disponemos de ella en la parte iOS, por tanto, y mientras no se incluya de serie en el framework para KMP, necesitaremos agregarla por nuestra cuenta. En este pequeño artículo, agregaremos esta funcionalidad, implementando en cada plataforma soportada (Android, iOS, JVM) lo necesario para disponer de esta clase de forma global. Implementación en commonMain ```kotlin expect class MPDecimalFormatSymbols { companion object { fun getInstance(): MPDecimalFormatSymbols } val decimalSeparator: Char val groupingSeparator: Char val zeroDigit: Char val perMill: Stri

Creación y publicación de librerías Android utilizando MavenCentral (OSSRH)

Imagen
       Este artículo pretende explicar de la forma más sencilla posible la creación de un proyecto de librería para android enfocado a su despliegue en MavenCentral, a fin de que esté disponible en el buscador de paquetes de Android Studio.      JetBrains, como no, proporciona también un tutorial bastante cómodo de seguir (practicamente lo mismo que esto, pero con menos imágenes)  aunque es para Jetbrains Spaces .      Para ganar tiempo, y dejar el entorno preparado, lo primero que debemos hacer es registrarnos en Sonatype, siguiendo los siguientes pasos: Accederemos a la web de incidencias de Sonatype (es un Jira), y nos registraremos como usuario (si no estamos registrados ya). Pulsaremos sobre Signup, y comenzaremos el proceso de registro. Una vez acabado el proceso de registro, se nos notifica. En el primer inicio de sesión, aparece el asistente típico de Jira, en el que configuraremos varios aspectos del sistema. Una vez tenemos todo configurado (Idioma y avatar), nos aparece la