Série Kotlin

Série Kotlin
Le partage du code sur les plates-formes n'est pas possible. Io, transformations, filetage et sérialisation, pour en mentionner quelques-uns, sont tous gérés différemment sur chaque plate-forme que vous souhaitez prendre en charge. Il existe déjà plusieurs bibliothèques qui prennent en charge la sérialisation de Kotlin et peuvent même produire du code Kotlin, le Moshi de Square étant le plus connu.

Dans cet article, nous aurons une brève discussion sur la sérialisation de Kotlin.

Que sont la sérialisation et la désérialisation à Kotlin?

La sérialisation est la technique de transformation des données d'une application en un format qui peut être envoyé sur un réseau ou peut être enregistré dans la base de données ou le fichier. La désérialisation, en revanche, est l'acte d'extraire des données d'un emplacement distant et de la transformer en un objet d'exécution. Ce sont tous deux des composants requis dans la plupart des applications qui interagissent avec les données avec des parties externes.

JSON et les tampons de protocole sont deux exemples de formats de sérialisation de données qui sont largement utilisés. Ils permettent aux données de circuler sur des systèmes construits dans n'importe quelle langue moderne car ils sont à la fois la langue et la plate-forme agnostiques.

Les capacités de sérialisation des données dans Kotlin peuvent être trouvées dans un composant autonome appelé Kotlinx. sérialisation. Les bibliothèques d'exécution et le gradle Plugin-org.Brains de jet.kotlin.brancher.sérialisation - sont les deux principaux composants.

Bibliothèques de sérialisation Kotlin

Toutes les bibliothèques de sérialisation Kotlin sont contenues dans l'organisation.Package Jetbrains. Kotlinx est un nom pour un groupe de personnes. Ils ont des suffixes qui représentent le format de sérialisation et commencent par la sérialisation de Kotlinx.

Exemples:

La sérialisation JSON pour les projets Kotlin est fournie par Org.Brains de jet.Kotlinx: Kotlinx-Serialization-Json.
La sérialisation CBOR est fournie par l'organisation.Brains de jet.Kotlinx: Kotlinx-Serialization-Cbor.

Vous n'avez pas besoin d'ajouter manuellement des artefacts spécifiques à la plate-forme car ils sont gérés automatiquement. Les projets JVM, JS, natifs et multiplateformes utilisent les mêmes dépendances.

Comment utiliser la sérialisation Kotlin dans le code

Avant de poursuivre le code de sérialisation de Kotlin, assurez-vous que votre script de construction est configuré pour vous permettre d'utiliser les outils de sérialisation de Kotlin dans votre projet.

Dans votre projet Build.Grade.Fichier KTS Utilisez le Kotlin («Plugin.sérialisation ») dans le bloc de plugin.

Ensuite, dans votre construction.Gradle (.kts) fichier, ajoutez la dépendance de la bibliothèque d'exécution «org.Brains de jet.Kotlinx: Kotlinx-Serialization-Json: 1.0.0 ”à votre bloc à charge.

Pour comprendre la sérialisation de Kotlin, vous devriez jeter un œil aux exemples suivants:

Exemple n ° 1: Programme pour sérialiser l'instance Kotlin dans JSON

Nous avons l'API de sérialisation qui nous aidera à travailler sur notre code. Le kotlinx.Sérialisation et ses sous-packages de fonctionnalités, y compris Kotlinx.sérialisation.JSON, incluez l'API. Il y a une autre bibliothèque «JSON.EncodetoString »à utiliser, qui code pour les cordes à JSON.

Nous importons les bibliothèques du Kotlinx.sérialisation. Tout d'abord, nous annotons une classe avec @Serializable. Nous déclarons une classe de données ici avec le nom «données». Les données de classe appelle un constructeur avec deux variables. Les variables sont représentées par le mot-clé «Val» et attribuent un nom «nom» et «âge». La variable «Nom» est définie avec la propriété de type «String» et la variable «Age» est définie avec la propriété «int».

Après la déclaration de classe de données, nous utilisons @optin qui est un espace mondial. L'approche opt-in de Kotlin vous permet d'identifier les API qui devraient être utilisées avec la prudence - ou pas du tout. Si vous faites une déclaration de déclaration (une classe, une fonction, une propriété ou quoi que ce soit). Cela garantira que la décision d'utiliser l'API sur le site d'utilisation a été prise consciemment.

Ici, nous y passons un marqueur API expérimental. Ensuite, nous avons la fonction principale définie dans laquelle nous créons une variable «myinfo». La variable «Myinfo» s'appelle JSON.EncodetoString dans lequel l'objet passé comme paramètre est sérialisé et codé en une chaîne JSON. En conséquence, vous obtiendrez une chaîne format JSON représentant l'état actuel de l'objet. En utilisant la fonction Kotlin Println, nous imprimerons les valeurs des variables «Myinfo».

La sortie est au format JSON illustré dans l'écran de la console ci-dessous.

Exemple n ° 2: Programme pour sérialiser et désérialiser les objets à Kotlin

La sérialisation est la conversion d'un objet en un flux d'octets ou une chaîne tandis que la désérialisation est la restauration de ce flux dans un nouvel objet.

Dans le code ci-dessus, nous avons une implémentation d'une interface sérialisable qui permet à Kotlin de gérer automatiquement la sérialisation.

La bibliothèque Java.IO signifie que nous avons importé toutes les classes du package d'entrée-sortie dans le code. Ensuite, nous déclarons une classe en tant que «joueurs» qui a une interface sérialisable implémentée. Les objets «joueurs» de classe peuvent désormais être transformés en flux. Le constructeur est appelé pour les «joueurs» de classe et nous créons un objet «joueurs» qui est gardé privé et définit une propriété de type de chaîne.

Après cela, nous avons un mot-clé «remplacer» avec la fonction toString (). L'explication de la remplacement explique le programme et évite les erreurs. Une fonction toString () représente les éléments d'un objet dans un format lisible pour identifier et corriger les problèmes de programmation. Le remplacement toString () renvoie la chaîne de l'objet «Players». Nous avons le bloc init dans lequel nous initialisons un objet «joueurs» avec les éléments de la chaîne en utilisant la fonction hashsetof. Ensuite, nous avons une autre classe sérialisée «Tennis» dans laquelle nous définissons ses objets en créant son constructeur.

Nous créons un «joueur» d'objet dans la classe «tennis» et appelons la classe des joueurs. Dans le bloc de sur-tostring (), nous définissons les champs d'un joueur d'objet. Après cela, nous avons une fonction principale dans laquelle nous déclarons une variable «tennis» et définissons ses champs. Maintenant, en utilisant la fonction writeObject () de la classe objectOutputStream, convertissez l'objet en une forme sérialisée, puis utilisez la fonction readObject () pour générer un nouvel objet à partir des octets.

Sur l'écran du terminal, la sortie est affichée.

Conclusion

L'objectif de ce guide d'article est de montrer le concept de sérialisation de Kotlin dans la langue Kotlin. Nous avons discuté du sujet de la sérialisation et de la désérialisation et comment utiliser les bibliothèques de sérialisation de Kotlin. Nous avons également couvert les exemples avec le code en cours d'exécution pour vous.