Saul  Alaniz

Saul Alaniz

1657865100

Implementar Devoluciones De Llamada Opcionales En Kotlin

Los resultados de las tareas son muy importantes en un programa, porque determinan si se ejecutará la siguiente tarea. Los mejores programas son los que son capaces de sondear y obtener resultados de forma automática y sincrónica.

Android tiene un mecanismo llamado devolución de llamada opcional que permite que sus métodos y clases reciban los resultados de falla y éxito de otra tarea sin tener que llamar a otra clase una y otra vez solo para obtener resultados.

En este tutorial, aprenderemos sobre las devoluciones de llamada opcionales y cómo implementarlas en Kotlin . Además, podremos explorar bibliotecas que implementen esta funcionalidad para usted.

¿Qué son las devoluciones de llamadas opcionales?

Las devoluciones de llamada de Android permiten que su método obtenga resultados de otro método de forma sincrónica. Las devoluciones de llamada actúan como mensajeros; son el centro de comunicación en un programa y pasan a funciones como argumentos. Ayudan a completar la tarea de una función proporcionando resultados, ya sean negativos o positivos. Una devolución de llamada opcional establece explícitamente lo que sucederá cuando se obtengan diferentes resultados de otro método o función.

Las devoluciones de llamada opcionales también permiten que las funciones que dependen de una devolución de llamada continúen incluso si la devolución de llamada devuelve un error, lo que admite un alto nivel de mantenimiento y confiabilidad.

Las devoluciones de llamada opcionales son importantes porque garantizan que los usuarios puedan disfrutar de su aplicación sin interrupción al evitar que la aplicación se congele y bloquee. Una interfaz de usuario congelada puede hacer que muchas personas desinstalen su aplicación.

¿Cuál es la diferencia entre las devoluciones de llamadas estándar y opcionales?

Como desarrollador de Android, uso las devoluciones de llamada a diario, comenzando por el onCreate()método, que crea una actividad cuando se inicia una aplicación. Este es un ejemplo típico de una devolución de llamada que usará un millón de veces en su proceso de desarrollo de Android.

Cuando su aplicación falla a la hora de inicio, los problemas se pueden encontrar en esta devolución de llamada:

override fun onCreate(savedInstanceState: Bundle?) {
   super.onCreate(savedInstanceState)
   setContentView(R.layout.activity_main)
}

Aquí hay otro ejemplo de una devolución de llamada típica que se llama cuando la actividad está en pausa:

override fun onPause() {
        super.onPause()
        print("onPause")
    }

Las devoluciones de llamada anteriores hacen un gran trabajo en el ciclo de vida de la actividad de Android y el ciclo de vida del fragmento. Pero, el problema surge cuando el método implementado en la onPause()devolución de llamada no funciona. Una devolución de llamada opcional indicaría lo que sucedería si se produce ese error.

 

Implementación de devoluciones de llamada opcionales en Kotlin desde cero

El uso de devoluciones de llamada opcionales en su programa no debería ser opcional. Las devoluciones de llamadas opcionales mantienen el flujo de su actividad incluso cuando se producen excepciones y las tareas generan resultados negativos.

Ahora, aquí hay un ejemplo de una devolución de llamada opcional:

Result.of<T, Throwable>(doTask())
      .flatMap { normalizedData(it) }
      .map { createRequestFromData(it) }
      .flatMap { database.updateFromRequest(it) }

Agregue los casos de falla y éxito:

//if successful
result.success {
}

//if failed
result.failure {
}

La devolución de llamada opcional anterior tiene condiciones: el cambio de falla y éxito. Debe indicar qué sucede si los resultados de otra clase son negativos o positivos. De esta manera, podrá cerrar procesos y funciones que pueden bloquear la aplicación cuando la devolución de llamada arroja un resultado negativo.

Aquí hay otro ejemplo de una devolución de llamada opcional que no usa una biblioteca. La devolución de llamada opcional que se muestra a continuación proporciona tres casos que se activarán cuando se pasen los resultados. Tiene la oportunidad de hacer algo si la animación se repite, finaliza o comienza:

animation.setAnimationListener(object : Animation.AnimationListener {
   override fun onAnimationRepeat(animation: Animation?) {

   }

   override fun onAnimationEnd(animation: Animation?) {
       doSomething()
   }

   override fun onAnimationStart(animation: Animation?) {
          }
})

Una estructura de devolución de llamada opcional consiste principalmente en un bloque de código que obtiene resultados, seguido por el caso de falla y éxito (o cualquier caso que le gustaría ejecutar cuando se reciben ciertos resultados). Sin embargo, puede agregar otros casos si los está implementando desde cero sin la intervención de una biblioteca.

Una biblioteca (como Result ) lo hace fácil al brindarle dos casos: falla y éxito. Todo lo que tiene que hacer es agregar código que se agregará cuando ocurra una instancia de éxito o falla.

Los casos de falla y éxito son lo que hace que las devoluciones de llamada opcionales sean diferentes de las devoluciones de llamada típicas:

//if successful
result.success {

}
//if failed
result.failure {

}

Implementación de devoluciones de llamada opcionales en Kotlin usando Result

El resultado es una biblioteca de Kotlin que le permite implementar devoluciones de llamada opcionales y lo ayuda a manejar los errores rápidamente.

Para comenzar, agregue las siguientes dependencias al gradle.buildarchivo y sincronice Gradle para descargar la biblioteca de terceros:

implementation("com.github.kittinunf.result:result-jvm:5.2.1")
implementation ("com.github.kittinunf.result:result:5.2.1")

Veamos cómo funciona Result en un caso en el que queremos abrir un archivo de texto y leerlo. Para obtener el resultado de abrir la tarea del archivo de texto, usamos el objeto Kotlin Result, que obtiene el valor de éxito y falla de readText task:

val operation = { File("/path/to/file/foo.txt").readText() }
Result.of { operation() }  

A continuación, creamos una normalizedData(foo)función que ordena y simplifica los datos recopilados de la operación. Normalice los datos llamando a la normalize()función:

fun normalizedData(foo): Result<Boolean, NormalizedThrowable> {
    Result.of { foo.normalize() }
}

A continuación, cree una solicitud a partir de los datos que normalizamos anteriormente:

fun createRequestFromData(foo): Request {
    return createRequest(foo)
}

Después de solicitar datos, cree una función de base de datos como se muestra a continuación que actualizará los valores del objeto Result. Si la transacción de actualización falla, se lanzará una excepción:

fun database.updateFromRequest(request): Result<Boolean, DBThrowable> {
    val transaction = request.transaction
    return Result.of { 
        db.openTransaction {
            val success = db.execute(transaction)
            if (!success) {
                throw DBThrowable("Error")
            }
            return success
        }
    }
}

Una vez que haya obtenido información utilizando el objeto Result, es hora de agregar los casos de éxito y fracaso. Comience declarando el valor:

val (value, error) = result

Ahora, obtenga el valor del resultado:

val value: Int = result.get()

Ahora agregue los casos de éxito y fracaso:

result.success {
//Add code that does something when the task is successful here
}

result.failure {
//add code that warns the user that an error has occurred here.
}

Implementación de devoluciones de llamada opcionales en Kotlin usando callback-ktx

La biblioteca callback-ktx ajusta y transforma las API basadas en devolución de llamada en funciones de extensión de suspensión. Actualmente, callback-ktx solo admite las siguientes API:

  • Animación
  • Ubicación
  • RecyclerView
  • Sensor
  • Vista
  • Widget (vista de texto)

Use el siguiente código para descargar la dependencia callback-ktx:

implementation("io.github.sagar-viradiya:callback-core-ktx:1.0.0")

Una vez que haya descargado la biblioteca, puede realizar un seguimiento de las animaciones invocando el lifecycleScopeobjeto para obtener el alcance del ciclo de vida. A continuación, llame al awaitStart()método, que se activará cuando la animación.

Ahora, tiene la oportunidad de indicar y agregar específicamente código que se ejecutará solo cuando comience la animación:

viewLifecycleOwner.lifecycleScope.launch {
  animator.awaitStart()
  // insert code that does something when the animation starts here.
 }

Puede consultar más casos de uso de la biblioteca callback-ktx aquí . Si todavía tiene un código base de Android que usa Java, puede usar Vulture para implementar devoluciones de llamada de manera segura.

Conclusión

En este artículo, hemos aprendido acerca de los beneficios de las devoluciones de llamada opcionales, la diferencia entre las devoluciones de llamada opcionales y regulares, y cómo implementar devoluciones de llamada usando Result y callback-ktx.

Las devoluciones de llamada opcionales seguramente le darán más capacidad y opciones cuando se trata de indicar qué debe suceder cuando la devolución de llamada devuelve errores y resultados exitosos.

Si tiene alguna pregunta o comentario, no dude en dejarlos en la sección de comentarios a continuación.

Fuente: https://blog.logrocket.com/implementing-opcional-callbacks-kotlin-scratch/

#kotlin 

What is GEEK

Buddha Community

Implementar Devoluciones De Llamada Opcionales En Kotlin

Juned Ghanchi

1621508255

Kotlin App Development Company in India, Hire Kotlin Developers

We are a prime Kotlin app developer in India. We build and provide the best personalized Android apps, migration services, ongoing maintenance, and management.

We have the most efficient Kotlin developers that build ultramodern, interactive, and secure mobile apps. The technologies we use to create the most advanced Kotlin apps are AR/VR, AI/ML, IoT, etc.

Hire Kotlin app developers in India. Meet us, and we will help you meet all of your technology requirements.

#kotlin app development company india #hire kotlin developers india #kotlin app development company #hire kotlin developers #kotlin development agency #kotlin app programmers

Saul  Alaniz

Saul Alaniz

1657865100

Implementar Devoluciones De Llamada Opcionales En Kotlin

Los resultados de las tareas son muy importantes en un programa, porque determinan si se ejecutará la siguiente tarea. Los mejores programas son los que son capaces de sondear y obtener resultados de forma automática y sincrónica.

Android tiene un mecanismo llamado devolución de llamada opcional que permite que sus métodos y clases reciban los resultados de falla y éxito de otra tarea sin tener que llamar a otra clase una y otra vez solo para obtener resultados.

En este tutorial, aprenderemos sobre las devoluciones de llamada opcionales y cómo implementarlas en Kotlin . Además, podremos explorar bibliotecas que implementen esta funcionalidad para usted.

¿Qué son las devoluciones de llamadas opcionales?

Las devoluciones de llamada de Android permiten que su método obtenga resultados de otro método de forma sincrónica. Las devoluciones de llamada actúan como mensajeros; son el centro de comunicación en un programa y pasan a funciones como argumentos. Ayudan a completar la tarea de una función proporcionando resultados, ya sean negativos o positivos. Una devolución de llamada opcional establece explícitamente lo que sucederá cuando se obtengan diferentes resultados de otro método o función.

Las devoluciones de llamada opcionales también permiten que las funciones que dependen de una devolución de llamada continúen incluso si la devolución de llamada devuelve un error, lo que admite un alto nivel de mantenimiento y confiabilidad.

Las devoluciones de llamada opcionales son importantes porque garantizan que los usuarios puedan disfrutar de su aplicación sin interrupción al evitar que la aplicación se congele y bloquee. Una interfaz de usuario congelada puede hacer que muchas personas desinstalen su aplicación.

¿Cuál es la diferencia entre las devoluciones de llamadas estándar y opcionales?

Como desarrollador de Android, uso las devoluciones de llamada a diario, comenzando por el onCreate()método, que crea una actividad cuando se inicia una aplicación. Este es un ejemplo típico de una devolución de llamada que usará un millón de veces en su proceso de desarrollo de Android.

Cuando su aplicación falla a la hora de inicio, los problemas se pueden encontrar en esta devolución de llamada:

override fun onCreate(savedInstanceState: Bundle?) {
   super.onCreate(savedInstanceState)
   setContentView(R.layout.activity_main)
}

Aquí hay otro ejemplo de una devolución de llamada típica que se llama cuando la actividad está en pausa:

override fun onPause() {
        super.onPause()
        print("onPause")
    }

Las devoluciones de llamada anteriores hacen un gran trabajo en el ciclo de vida de la actividad de Android y el ciclo de vida del fragmento. Pero, el problema surge cuando el método implementado en la onPause()devolución de llamada no funciona. Una devolución de llamada opcional indicaría lo que sucedería si se produce ese error.

 

Implementación de devoluciones de llamada opcionales en Kotlin desde cero

El uso de devoluciones de llamada opcionales en su programa no debería ser opcional. Las devoluciones de llamadas opcionales mantienen el flujo de su actividad incluso cuando se producen excepciones y las tareas generan resultados negativos.

Ahora, aquí hay un ejemplo de una devolución de llamada opcional:

Result.of<T, Throwable>(doTask())
      .flatMap { normalizedData(it) }
      .map { createRequestFromData(it) }
      .flatMap { database.updateFromRequest(it) }

Agregue los casos de falla y éxito:

//if successful
result.success {
}

//if failed
result.failure {
}

La devolución de llamada opcional anterior tiene condiciones: el cambio de falla y éxito. Debe indicar qué sucede si los resultados de otra clase son negativos o positivos. De esta manera, podrá cerrar procesos y funciones que pueden bloquear la aplicación cuando la devolución de llamada arroja un resultado negativo.

Aquí hay otro ejemplo de una devolución de llamada opcional que no usa una biblioteca. La devolución de llamada opcional que se muestra a continuación proporciona tres casos que se activarán cuando se pasen los resultados. Tiene la oportunidad de hacer algo si la animación se repite, finaliza o comienza:

animation.setAnimationListener(object : Animation.AnimationListener {
   override fun onAnimationRepeat(animation: Animation?) {

   }

   override fun onAnimationEnd(animation: Animation?) {
       doSomething()
   }

   override fun onAnimationStart(animation: Animation?) {
          }
})

Una estructura de devolución de llamada opcional consiste principalmente en un bloque de código que obtiene resultados, seguido por el caso de falla y éxito (o cualquier caso que le gustaría ejecutar cuando se reciben ciertos resultados). Sin embargo, puede agregar otros casos si los está implementando desde cero sin la intervención de una biblioteca.

Una biblioteca (como Result ) lo hace fácil al brindarle dos casos: falla y éxito. Todo lo que tiene que hacer es agregar código que se agregará cuando ocurra una instancia de éxito o falla.

Los casos de falla y éxito son lo que hace que las devoluciones de llamada opcionales sean diferentes de las devoluciones de llamada típicas:

//if successful
result.success {

}
//if failed
result.failure {

}

Implementación de devoluciones de llamada opcionales en Kotlin usando Result

El resultado es una biblioteca de Kotlin que le permite implementar devoluciones de llamada opcionales y lo ayuda a manejar los errores rápidamente.

Para comenzar, agregue las siguientes dependencias al gradle.buildarchivo y sincronice Gradle para descargar la biblioteca de terceros:

implementation("com.github.kittinunf.result:result-jvm:5.2.1")
implementation ("com.github.kittinunf.result:result:5.2.1")

Veamos cómo funciona Result en un caso en el que queremos abrir un archivo de texto y leerlo. Para obtener el resultado de abrir la tarea del archivo de texto, usamos el objeto Kotlin Result, que obtiene el valor de éxito y falla de readText task:

val operation = { File("/path/to/file/foo.txt").readText() }
Result.of { operation() }  

A continuación, creamos una normalizedData(foo)función que ordena y simplifica los datos recopilados de la operación. Normalice los datos llamando a la normalize()función:

fun normalizedData(foo): Result<Boolean, NormalizedThrowable> {
    Result.of { foo.normalize() }
}

A continuación, cree una solicitud a partir de los datos que normalizamos anteriormente:

fun createRequestFromData(foo): Request {
    return createRequest(foo)
}

Después de solicitar datos, cree una función de base de datos como se muestra a continuación que actualizará los valores del objeto Result. Si la transacción de actualización falla, se lanzará una excepción:

fun database.updateFromRequest(request): Result<Boolean, DBThrowable> {
    val transaction = request.transaction
    return Result.of { 
        db.openTransaction {
            val success = db.execute(transaction)
            if (!success) {
                throw DBThrowable("Error")
            }
            return success
        }
    }
}

Una vez que haya obtenido información utilizando el objeto Result, es hora de agregar los casos de éxito y fracaso. Comience declarando el valor:

val (value, error) = result

Ahora, obtenga el valor del resultado:

val value: Int = result.get()

Ahora agregue los casos de éxito y fracaso:

result.success {
//Add code that does something when the task is successful here
}

result.failure {
//add code that warns the user that an error has occurred here.
}

Implementación de devoluciones de llamada opcionales en Kotlin usando callback-ktx

La biblioteca callback-ktx ajusta y transforma las API basadas en devolución de llamada en funciones de extensión de suspensión. Actualmente, callback-ktx solo admite las siguientes API:

  • Animación
  • Ubicación
  • RecyclerView
  • Sensor
  • Vista
  • Widget (vista de texto)

Use el siguiente código para descargar la dependencia callback-ktx:

implementation("io.github.sagar-viradiya:callback-core-ktx:1.0.0")

Una vez que haya descargado la biblioteca, puede realizar un seguimiento de las animaciones invocando el lifecycleScopeobjeto para obtener el alcance del ciclo de vida. A continuación, llame al awaitStart()método, que se activará cuando la animación.

Ahora, tiene la oportunidad de indicar y agregar específicamente código que se ejecutará solo cuando comience la animación:

viewLifecycleOwner.lifecycleScope.launch {
  animator.awaitStart()
  // insert code that does something when the animation starts here.
 }

Puede consultar más casos de uso de la biblioteca callback-ktx aquí . Si todavía tiene un código base de Android que usa Java, puede usar Vulture para implementar devoluciones de llamada de manera segura.

Conclusión

En este artículo, hemos aprendido acerca de los beneficios de las devoluciones de llamada opcionales, la diferencia entre las devoluciones de llamada opcionales y regulares, y cómo implementar devoluciones de llamada usando Result y callback-ktx.

Las devoluciones de llamada opcionales seguramente le darán más capacidad y opciones cuando se trata de indicar qué debe suceder cuando la devolución de llamada devuelve errores y resultados exitosos.

Si tiene alguna pregunta o comentario, no dude en dejarlos en la sección de comentarios a continuación.

Fuente: https://blog.logrocket.com/implementing-opcional-callbacks-kotlin-scratch/

#kotlin 

joe biden

1617257581

Software de restauración de Exchange para restaurar sin problemas PST en Exchange Server

¿Quiere restaurar los buzones de correo de PST a Exchange Server? Entonces, estás en la página correcta. Aquí, lo guiaremos sobre cómo puede restaurar fácilmente mensajes y otros elementos de PST a MS Exchange Server.

Muchas veces, los usuarios necesitan restaurar los elementos de datos de PST en Exchange Server, pero debido a la falta de disponibilidad de una solución confiable, los usuarios no pueden obtener la solución. Háganos saber primero sobre el archivo PST y MS Exchange Server.

Conozca PST y Exchange Server

PST es un formato de archivo utilizado por MS Outlook, un cliente de correo electrónico de Windows y muy popular entre los usuarios domésticos y comerciales.

Por otro lado, Exchange Server es un poderoso servidor de correo electrónico donde todos los datos se almacenan en un archivo EDB. Los usuarios generalmente guardan la copia de seguridad de los buzones de correo de Exchange en el archivo PST, pero muchas veces, los usuarios deben restaurar los datos del archivo PST en Exchange. Para resolver este problema, estamos aquí con una solución profesional que discutiremos en la siguiente sección de esta publicación.

Un método profesional para restaurar PST a Exchange Server

No le recomendamos que elija una solución al azar para restaurar los datos de PST en Exchange Server. Por lo tanto, al realizar varias investigaciones, estamos aquí con una solución inteligente y conveniente, es decir, Exchange Restore Software. Es demasiado fácil de manejar por todos los usuarios y restaurar cómodamente todos los datos del archivo PST a Exchange Server.

Funciones principales ofrecidas por Exchange Restore Software

El software es demasiado simple de usar y se puede instalar fácilmente en todas las versiones de Windows. Con unos pocos clics, la herramienta puede restaurar los elementos del buzón de Exchange.

No es necesario que MS Outlook restaure los datos PST en Exchange. Todos los correos electrónicos, contactos, notas, calendarios, etc. se restauran desde el archivo PST a Exchange Server.

Todas las versiones de Outlook son compatibles con la herramienta, como Outlook 2019, 2016, 2013, 2010, 2007, etc. La herramienta proporciona varios filtros mediante los cuales se pueden restaurar los datos deseados desde un archivo PST a Exchange Server. El programa se puede instalar en todas las versiones de Windows como Windows 10, 8.1, 8, 7, XP, Vista, etc.

Descargue la versión de demostración del software de restauración de Exchange y analice el funcionamiento del software restaurando los primeros 50 elementos por carpeta.

Líneas finales

No existe una solución manual para restaurar los buzones de correo de Exchange desde el archivo PST. Por lo tanto, hemos explicado una solución fácil e inteligente para restaurar datos de archivos PST en Exchange Server. Simplemente puede usar este software y restaurar todos los datos de PST a Exchange Server.

Más información:- https://www.datavare.com/software/exchange-restore.html

#intercambio de software de restauración #intercambio de restauración #buzón del servidor de intercambio #herramienta de restauración de intercambio

Hire Dedicated Kotlin Developer - WebClues Infotech

The most popular language used for Android app development is Kotlin and recently Kotlin also launched its Cross-Platform app development language Kotlin Multiplatform.

So are you looking to launch a mobile using Kotlin as your Programming Language?

Then you are at the right place as WebClues Infotech offers services to Hire a Dedicated Kotlin Developer who can develop an interactive and rich user-experienced mobile app. Also, WebClues has a flexible pricing model that the business can choose according to its most suitable structure.

So what are you waiting for? Hire a dedicated Kotlin developer from a reputed Web & Mobile app development agency that has successfully served more than 600+ clients.

Get in touch with us!!

Book Free Interview: https://bit.ly/3dDShFg

#hire dedicated kotlin developer #hire dedicated kotlin developer #hire kotlin developers #hire kotlin developer #hire dedicated kotlin app developer #hire kotlin app developers india

How to Develop an Android App with Kotlin?

Do you have an idea to develop an android app using Kotlin?

Are you looking for the best Kotlin app development company in the USA? We at AppClues Infotech offering versatile mobile app development services in the USA. We provide custom mobile app development solutions as per your specific business needs with the prevailing market trending technology & features.

Hire our top-notch Kotlin app designers & developers for your project at a cost-effective price.

Our Kotlin App Development Services:
• Custom Android App Development
• Kotlin AR/VR App Development
• Kotlin App UI/UX Design
• Kotlin App QA & Testing- code Optimization
• Kotlin App Migrations
• Kotlin App Maintenance and Upgrades

For more info:
Website: https://www.appcluesinfotech.com/
Email: info@appcluesinfotech.com
Call: +1-978-309-9910

#kotlin android app development company #best kotlin android app development usa #kotlin android app development #kotlin for android app development #kotlin mobile app development service #create android app with kotlin