問題タブ [koin]

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 に答える
392 参照

android - Android KoinでJobSchedulerを実装する方法

実装が簡単なため、Koinをサービス ロケーター/DI として使用し始めています。問題に直面しています: Evernote Jobscheduler

今のところ、次のコードがあります。

SplashViewModel では、すべてのジョブを次のように呼び出します。

私はこのようなジョブクリエーターを持っています:

そして、私の App クラスでは、次のように JobManager を作成します。

すべてのジョブは定期的で、15 分ごとにスケジュールされており、すべて正常に動作しています。(この構造は、ジョブスケジューラの github ページの指示に従います)

しかし、Koin で DI を使い始めると、次の変更が加えられました。

必要なすべての依存関係を含むモジュールがあります。

リポジトリ シングルトン インスタンスはワーカーの依存関係によって渡され、ワー​​カーは更新ジョブの依存関係として渡されます。

これを機能させるには、JobCreator クラスを次のように変更する必要がありました。

このための新しいモジュールを作成します。

奇妙な部分は AppCoordinator にあります。プロパティを作成して注入しました。

したがって、この:

これになりました:

そして、次のように koin を開始します。

そして、これは実際に初めて機能します。しかし、ジョブが再スケジュールされて再度実行しようとすると、次の例外でアプリがクラッシュします。

タグ FORCE_UPDATE_TAG のジョブは既に実行されています。作成者は常に新しいジョブ インスタンスを作成する必要があります

私が欠けているものについてのアイデアはありますか?

前もって感謝します