Appeler la fonction Kotlin en Java

Anto:

Je suis néophite à Kotlin. J'ai besoin d'appeler une méthode dans une classe créée dans Kotlin à partir d'une classe Java. La classe en question concerne la création de la base de données.

@Database(entities = arrayOf(Indirizzo::class, Dispositivo::class), version = 1, exportSchema = false)
abstract class WppDb : RoomDatabase() {
    abstract fun DispositivoDao(): DispositivoDao
    abstract fun IndirizzoDao(): IndirizzoDao

    private var INSTANCE : WppDb? = null

    fun getInstance(context: Context): WppDb? {
        if (INSTANCE == null) {
            synchronized(WppDb::class) {
                INSTANCE = Room.databaseBuilder(context.getApplicationContext(),
                            WppDb::class.java, "weather.db")
                           .build()
            }
        }
        return INSTANCE
    }

    fun destroyInstance() {
        INSTANCE = null
    }
}

J'ai besoin d'appeler la getInstance()méthode à partir d'une activité Java.

zsmb13:

Si vous voulez l'équivalent de ce que les exemples Room montrent généralement avec un champ Java statique et une méthode getter statique, vous pouvez placer ces fonctions dans l' objet compagnon de votre classe:

@Database(entities = arrayOf(Indirizzo::class, Dispositivo::class), version = 1, exportSchema = false)
abstract class WppDb : RoomDatabase() {
    abstract fun DispositivoDao(): DispositivoDao
    abstract fun IndirizzoDao() : IndirizzoDao

    companion object {
        private var INSTANCE : WppDb? =  null

        @JvmStatic
        fun getInstance(context: Context): WppDb? {
            if (INSTANCE == null) {
                synchronized(WppDb::class) {
                    INSTANCE = Room.databaseBuilder(context.getApplicationContext(),
                                    WppDb::class.java, "weather.db")
                                   .build()
                }
            }
            return INSTANCE
        }

        @JvmStatic
        fun destroyInstance() {
            INSTANCE = null
        }
    }
}

Vous pouvez ensuite appeler à WppDb.getInstance(context)partir du code Kotlin ou Java. Notez les @JvmStaticannotations qui rendent ces appels plus agréables en Java - sans elles, vous devrez les utiliser WppDb.Companionpour obtenir l'objet compagnon, puis appeler la getInstancefonction là-dessus (donc WppDb.Companion.getInstance(context)tout à fait).

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Comment appeler Kotlin suspendre la fonction coroutine de Java 7

Comment puis-je appeler une fonction écrite dans une classe Kotlin, en java?

Impossible d'appeler la fonction en Java

Appeler la fonction c depuis Java

Appeler dynamiquement une fonction statique en Java

Appeler la fonction périodiquement en Java

Comment appeler la fonction go depuis Java en utilisant l'interface native Java?

Appeler la fonction d'ordre supérieur de Kotlin à partir de Java

Comment appeler la fonction de bibliothèque standard Kotlin à partir de Java?

Convertir la fonction java qui utilise des octets en Kotlin

Comment appeler la fonction C # depuis Java

Appeler la fonction MongoDB depuis Java

Appeler la fonction dynamiquement en Javascript

Comment appeler la fonction appelable en PHP?

La conversion de la fonction Java en Kotlin échoue

Appeler la fonction en ligne Kotlin à partir de Java

Impossible d'appeler la fonction d'extension kotlin depuis java

Appeler la fonction js en php

Comment appeler la clé de classe Kotlin en Java?

Appeler la complétion de kotlin en java

Kotlin Comment puis-je appeler la fonction d'extension

Comment appeler la fonction javascript depuis java?

Comment appeler une fonction kotlin de haut niveau en java?

Comment appeler la fonction Python en Java

Appeler la fonction Javascript en utilisant PHP

Comment appeler la fonction personnelle en tapuscrit

Appeler la fonction conditionnellement en Javascript ?

Comment appeler une fonction si la condition est vraie kotlin?

impossible d'appeler la fonction publique de la classe Java dans la classe Kotlin

TOP liste

  1. 1

    Comment insérer une valeur de variable dans la formule getpivotdata à l'aide de la macro Excel VBA

  2. 2

    Des résultats inattendus dans les discussions Java multi-malgré les verrous

  3. 3

    Comment appliquer un effet de flou sur une barre de navigation en css

  4. 4

    Échec de l'exécution de 'insertBefore' sur 'Node': le paramètre 1 n'est pas de type 'Node'

  5. 5

    Comment puis-je faire fonctionner un effet de verre / flou CSS pour une superposition?

  6. 6

    Comment supprimer des mots d'un fichier texte en Python qui contiennent certaines lettres ?

  7. 7

    ERREUR 1054 (42S22): colonne inconnue 'marque' dans 'liste de champs'

  8. 8

    La connexion du conteneur FTP fonctionne avec docker-compose et non avec docker run

  9. 9

    Définir des URL pour la redirection vers une URL spécifique sans réécriture

  10. 10

    Pandas - Remplacer la valeur de ligne du calcul dérivé

  11. 11

    L'abonnement Python du kit AWS IoT SDK renvoie true mais le paramètre de rappel n'est pas appelé

  12. 12

    Impossible d'insérer des lignes et d'obtenir une contrainte de clé étrangère échoue

  13. 13

    Comment passer des paramètres d'URL lors de la redirection vers une autre URL?

  14. 14

    Python: exécutez plusieurs commandes dans CMD en une seule instance

  15. 15

    Comment faire une requête rapide vers une URL spécifique

  16. 16

    Authentification angulaire Laravel

  17. 17

    aucun opérateur ne correspond à ces opérandes ; les types d'opérandes sont : std::istream >> const char [5]

  18. 18

    Une erreur fatale s'est produite lors de la création des informations d'identification du client TLS. L'état d'erreur interne est 10013

  19. 19

    Apache XmlBeans NullPointerException

  20. 20

    JS : séparez les éléments du tableau et affichez les éléments individuels dans un tableau

  21. 21

    WebScrape - 獲取href

chaudétiquette

Archive