問題タブ [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.

0 投票する
1 に答える
838 参照

android - LifecycleService は、lifecycle-extensions アーティファクトと共に非推奨ですか?

アーティファクトに存在していた LifecycleService クラスlifecycle-extensionsは、現在推奨されているどのアーティファクトでも使用できないようです。lifecycle-runtimeViewModel と LiveData のないものである にあると思いますが、またはLifecycleServiceにはありません。lifecycle-viewmodellifecycle-livedata

LifecycleService は廃止されましたか?

現在のライフサイクル アーティファクトのソース

0 投票する
0 に答える
65 参照

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 を使用するにはどうすればよいですか?

0 投票する
3 に答える
838 参照

android - java.lang.IllegalStateException: MaybeRun がないとキャンセル呼び出しは発生しません

ViewModelで簡単にテストしようとしていRobolectricます。

これが私のViewModel

GreetingsViewModel.kt

ここに私の単体テストファイルがあります

GreetingsViewModelTest.kt

しかし、テストを実行するとエラーが発生します。

理由はありますか?

注: getOrAwaitValue()LiveDataは、 a の値を取得するか、タイムアウトを使用して値が取得されるのを待機する拡張関数です。