【发布时间】:2019-05-30 13:08:22
【问题描述】:
我需要在 Android 应用程序中仅使用 JAVA 工作 Workmanager(没有 Kotlin !!!)。 在一个项目中,我们只使用 dagger2.8(没有 android-dagger!),我需要注入或访问一些 Injected 类,如 DataBase。 (它在 AppComponent 中注入)。
已经尝试过: https://proandroiddev.com/dagger-2-setup-with-workmanager-a-complete-step-by-step-guild-bb9f474bde37 在 kotlin 中并用 Java 重写。 - 在项目中不起作用。 (以及 StackOverflow 上的所有关闭标题)
还有很多网络上的例子相互复制...(全部在 Kotlin 中...)
我将所有库更新为实际版本,从 3.2.1 更新到 3.4.1,包含所有暗示。
使用:AS 3.4.1 | GP:3.4.1 | gv:5.1.1 库:Dagger2、Retrofit2、OkHttp、Gson、ButterKnife、RxJava2、Room、Rabbit、WorkManager。它在 28 sdk 上 有我的工人:
private String TAG = getClass().getSimpleName();
DBModel dbModel; // this is injected room model in appComponent
public UIUpdaterWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
}
@NonNull
@Override
public Result doWork() {
Log.d(TAG, dbModel.toString()); // here is null
return Result.success();
我在同一个组件中尝试过它并分开。而且它不会起作用。有 null 或项目未构建。
【问题讨论】:
标签: java android dagger-2 android-workmanager