首页 > 解决方案 > 从数据库异步加载数据

问题描述

假设我有一个函数getData()从数据库返回一个类数组,这需要一些时间来完成。我有一个lateinit var data我想把数据放在哪里

lateinit var data:MyClass
data = getData()
*do something with it*

我需要在我的应用程序的 OnCreate() 函数中加载数据。我怎样才能在android中做到这一点而不会出现异常Network On Main Thread?请举一个简短的具体例子,因为我真的被困在这里。

标签: androidkotlin

解决方案


您可以尝试将线程或 kotlin 协程用于需要时间才能完成且无法在主线程中完成的任务,例如网络调用。

Thread(Runnable {
     //Network or database call method
}).start()

推荐阅读