首页 > 解决方案 > Java 中的 Room 数据库类和 Kotlin 活动中的实例化

问题描述

CreateNotesActivity只是想知道是否有一种方法可以在我的 Kotlin中实例化我的房间数据库(用 Java 编写) 。

我的DAO接口和实体类也是用 Java 编写的。

我的数据库类

@Database(entities = Note.class, version = 1, exportSchema = false)
abstract class NotesDatabase extends RoomDatabase {

    public static NotesDatabase notesDatabase;

    public static synchronized NotesDatabase getDatabase(Context context)
    {
        if(notesDatabase == null){
            Room.databaseBuilder(context
            ,NotesDatabase.class,
                    "note_db"
                    ).build();
        }
        return notesDatabase;
    }

    public abstract NoteDao noteDao(); 
}

我需要在 Kotlin 类中实例化它。

标签: javaandroiddatabasekotlinandroid-room

解决方案


在公开您的 getDatabase 之后也许这会对您有所帮助:

        /**
         * Create a new instance of user database
         */
        val dataBase: UserDatabase = UserDatabase.getDatabase(application)
        roomDao = dataBase.roomDao()

推荐阅读