Realm executeTransactionAsync не записывает данные в DB

Я использую realm db в своем проекте. Я хочу написать некоторые данные из JSON в папке с моими активами, когда приложение впервые появится. Я использую Котлин. Я начинаю свое царство:

Realm.init(this) val config = RealmConfiguration.Builder() .rxFactory(RealmObservableFactory()) .build() Realm.setDefaultConfiguration(config) 

Чем я хочу, как написать aync-write List<Data> в мой db:

 val realm = Realm.getDefaultInstance() realm.executeTransactionAsync { realm.copyToRealm(skillsList) } realm.close() 

Но мой мир db пуст. После realm.copyToRealm(skillsList) меня есть пустая таблица. Что не так? Я проверяю стол со Стето, его действительно пусто. Как я могу это исправить?

У меня была ошибка:

 Realm objects can only be accessed on the thread they were created 

Я исправляю это с помощью:

  Thread({ Realm.getDefaultInstance().use { val skillsList = ArrayList<Skill>() val inputSkills = assets.open("skills.json") val size = inputSkills.available() val buffer = ByteArray(size) inputSkills.read(buffer) inputSkills.close() val json: JSONObject = JSONObject(String(buffer)) val skillsArray = json.getJSONArray("skills") (0..skillsArray.length() - 1) .map { skillsArray.getJSONObject(it) } .forEach { skillsList.add(Skill(skillsList.size.toLong(), it.getString("title"), it.getString("subtitle"), it.getInt("rating"))) } it.beginTransaction() it.copyToRealm(skillsList) it.commitTransaction() Log.d("REALM","LOOOOG") } }).start()