web-dev-qa-db-ja.com

新しいandroidx.lifecycle:*:2.2.0-alpha01でlifecycle.coroutineScopeを取得する方法

2019年5月7日androidx.lifecycle:*:2.2.0-alpha01が発表されてリリースされました:

このリリースでは、ライフサイクルとLiveDataのKotlinコルーチンのサポートを追加する新機能が追加されています。それらの詳細なドキュメントはここにあります。

documentation では、LifecycleScopeを取得できると記載されています。

lifecycle.coroutineScopeまたはlifecycleOwner.lifecycleScope プロパティ

しかし、私はそれらをどれも見つけることができないようです。私の現在の依存関係は次のとおりです。

def lifecycle_ver = "2.2.0-alpha01"
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_ver"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_ver"
implementation "androidx.lifecycle:lifecycle-common-Java8:$lifecycle_ver"

implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.2.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-Android:1.2.1'

原因は何ですか?これらのAPIを取得するにはどうすればよいですか?

16
Rajarshi

私は実際にこれを自分で理解するために数時間費やしましたが、それはアルファ版としてのみ存在する新しいパッケージに入っていることがわかりました。これを追加すれば、問題ありません。

implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_ver"
28
Matt Butlar

受け入れられた回答は機能していますが、私は初めて誤用されているので、それを明確にしようとしています。lifecycleの現在のバージョンは"2.1.0"およびlifecycleScopeです。 ViewModelScopeは、このバージョンでは使用できません。

ViewModelScopeの場合、androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0-beta01以上を使用します。

LifecycleScopeの場合、androidx.lifecycle:lifecycle-runtime-ktx:2.2.0-alpha01以上を使用します。

現時点では"2.3.0-alpha01"が利用可能です

1
Jimale Abdi