問題タブ [android-livedata]
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 - 複数のプロセスで LiveData の更新を取得する
私の Android アプリケーションでは、Room API を使用してネットワークからのデータを保持しています。アプリはいくつかのプロセスに分割され、そのうちの 1 つがデータの同期 (SyncAdapter の実装) を担当します。UI は、DB にアクセスするための独自の DAO を使用して、別のプロセスで実行されています。私の問題は、UI プロセスでクエリを実行する LiveData が、SyncAdapter が新しいデータを DB に書き込むときに更新されないことです。DB はプロセス間で共有されるため、DB を反映する LiveData を持つすべてのプロセスで OnChanged が呼び出されることを期待していました。つまり、すべてのプロセスがデータベースの変更を監視できるということです。
android - Android アーキテクチャ コンポーネント、Android バインディング、LiveData
Android バインディングが概念レベルでライブ データと互換性があるかどうか疑問に思っていました。簡単なタスクがあります。ボタンがクリックされた後にサーバーを呼び出します。だから私の見解では、
適切な onOrderButtonClick(View) メソッドが ViewModel で定義されています。しかし、LiveData 経由でサーバーを呼び出すには、Fragment 参照が必要です (observe() メソッドには、最初のパラメーターとして LifecycleOwner インスタンスが必要です)。もちろん、ViewModel でフラグメントへの参照を保持することはできません。ここのパターンは何ですか?すべてのイベント メソッドをフラグメント クラスに実装し、それらをビュー モデル クラスにデリゲートする必要はありますか?