問題タブ [android-architecture-lifecycle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - LifecycleService は、lifecycle-extensions アーティファクトと共に非推奨ですか?
アーティファクトに存在していた LifecycleService クラスlifecycle-extensions
は、現在推奨されているどのアーティファクトでも使用できないようです。lifecycle-runtime
ViewModel と LiveData のないものである にあると思いますが、またはLifecycleService
にはありません。lifecycle-viewmodel
lifecycle-livedata
LifecycleService は廃止されましたか?
android - Transformons が使用されていない場合、MediatorLiveData の OnChanged は呼び出されません
サンプル アプリケーションについては、 https://github.com/android/architecture-components-samples/tree/88747993139224a4bb6dbe985adf652d557de621/GithubBrowserSampleに従っています。NetworkBoundResource クラスを使用してデータベース操作とネットワーク操作を処理していることがわかります。
私が今直面している問題は、Transformations.map / Transformations.swtichMap メソッドを使用しないと MediatorLiveData onChanged メソッドが呼び出されないことです。
私はそれを使用してみましたが、複数の入力の場合にそれらを使用しているときに問題に直面しました。
3つのパラメーターが必要なリクエストログインがあるとします。ユーザー名、パスワード、デバイス ID。複数の入力のビュー モデルで Transformations.map / Transformations.switchMap を使用するにはどうすればよいですか。
以下は私のviewModelコードです:
以下は、リポジトリでの私の読み込み方法です。
私は応答を観察しています: 以下のようにフラグメント内の LiveData:
これを呼び出すたびに、onChanged メソッドが呼び出されません。ここでのワークケースとは何か教えてもらえますか? または、複数の入力で Transformations.map / Transformations.swtichMap を使用するにはどうすればよいですか?
android - java.lang.IllegalStateException: MaybeRun がないとキャンセル呼び出しは発生しません
ViewModel
で簡単にテストしようとしていRobolectric
ます。
これが私のViewModel
GreetingsViewModel.kt
ここに私の単体テストファイルがあります
GreetingsViewModelTest.kt
しかし、テストを実行するとエラーが発生します。
理由はありますか?
注: getOrAwaitValue()LiveData
は、 a の値を取得するか、タイムアウトを使用して値が取得されるのを待機する拡張関数です。