我是 Kotlin 和协程的新手。但是我想用它来初始化 Android ThreeTen backport library,这是一个长期运行的任务。我正在使用 Metalab Async/Await 库 ( co.metalab.asyncawait:asyncawait:1.0.0 )。
这是我的代码:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val application = this
async {
//non-blocking initialize ThreeTen
await { AndroidThreeTen.init(application) }
//initialize UI on UI thread which uses the ThreeTen library
initUI()
}
}
现在我遇到了初始化 UI 时没有初始化库的问题。根据我的理解initUI
,不应该在被调用之前AndroidThreeTen.init
调用。