领域executeTransactionAsync不写入数据到数据库

我在我的项目中使用领域数据库。 我想在应用程序第一次启动时,将我的资产文件夹中的JSON数据写入领域。 我使用Kotlin。 我启动我的领域:

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

比我想异步写入List<Data>我的数据库:

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

但是我的领域db是空的。 realm.copyToRealm(skillsList)我有空表。 哪里不对? 我用Stetho检查桌子,它真的是空的。 我可以修复它?

One Solution collect form web for “领域executeTransactionAsync不写入数据到数据库”

我有一个错误:

 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() 
  • Kotlin中泛型类的扩展函数
  • RxJava和Kotlin的花括号和正常括号有什么区别?
  • 如何在Kotlin中实现这个Java接口?
  • Kotlin添加自定义监听器在Android上点击小部件
  • 以编程方式添加布局后,如何通过单击按钮来更改“#”文本视图
  • Kotlin合并了两个可空的可变列表
  • 从Java类继承的Kotlin类是否也继承自Any?
  • Kotlin可以在类文件中发出JSR-305注释
  • 用kotlinx.html DSL创建CSS类
  • 匕首2不识别Kotlin的提供方法。 Java工作正常
  • 有没有更好的方式来写在kotlin?
  • Kotlin language will be the best programming language for Android.