android - 从数据库异步加载数据
问题描述
假设我有一个函数getData()
从数据库返回一个类数组,这需要一些时间来完成。我有一个lateinit var data
我想把数据放在哪里
lateinit var data:MyClass
data = getData()
*do something with it*
我需要在我的应用程序的 OnCreate() 函数中加载数据。我怎样才能在android中做到这一点而不会出现异常Network On Main Thread
?请举一个简短的具体例子,因为我真的被困在这里。
解决方案
您可以尝试将线程或 kotlin 协程用于需要时间才能完成且无法在主线程中完成的任务,例如网络调用。
Thread(Runnable {
//Network or database call method
}).start()
推荐阅读
- python - 如果字典中未声明字符,如何从用户输入中输出特殊字符
- laravel - 安装作曲家时无法加载 php_mcrypt.dll
- javascript - 无法使用 wavesurfer 播放大型 m4a 音频文件
- hive - Hive ACID 表锁死锁永不过期
- javascript - 水平滚动的桌子上的“粘性”标题......完全不可能?
- lotus-notes - 为什么我的表单按钮无法正常工作
- ruby-on-rails - Rails 中上一个完整完成周(即周一到周日)的记录?
- vb.net - 我怎样才能将这两个语句组合成一个
- angular - 如何在 Firestore 上获取集合的每个文档的一个字段?
- r - 如何在不被覆盖的情况下将值写入文件?使用 Rscript