2

Dagger2 を使用するように単純な Android アプリを更新しようとしています。基本のいくつかを理解できたと思います。基本的なもの (アクティビティ、ビュー モデル、ヘルパー) はそれを通じて作成されています。

ここで、まだ小さな落とし穴があります。アプリにはボタンがあり、このボタンを押すと、ジョブ サービスをスケジュールする必要があります。依存関係がコンストラクターを介して渡されるようにジョブサービスをリファクタリングできますが、アクティビティからインスタンス化するにはどうすればよいですか? 言い換えれば、このコードをどのように置き換えるのですか:

    val serviceComponent = ComponentName(getApplication(), DbUpdaterJob::class.java)
    var jobInfo = JobInfo.Builder(DB_UPDATER_JOB_ID, serviceComponent)
            .setRequiredNetworkType(networkType)
            .setPersisted(true)
            .build()

    val scheduler = getApplication<Application>().getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobScheduler
    val res = scheduler.schedule(jobInfo)

インスタンス化が短剣に追いやられるように?

ありがとう!

4

2 に答える 2