私はKotlinとコルーチンを初めて使用しています。しかし、私は長期間実行されているAndroid ThreeTenバックポートライブラリの初期化にこれを使用したいと考えています。私はMetalab Async/Await Library(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を初期化するとき、ライブラリが初期化されていない問題を抱えています。私の理解から、AndroidThreeTen.init
が呼び出される前に、initUI
を呼び出すべきではありません。
あなたが最初に(バックグラウンドでまたは早く)データ第二のUIをロードする必要があります。そうしないとhttp://stackoverflow.com/a/43151714/882912データをロードしている間はUIをフリーズします。そうすることで、進行状況バーを表示することができます。 – KTCO