小编Dan*_*gan的帖子

dagger2错误“没有@Inject构造函数或@Provides注释方法无法提供android.app.Application”

我正在尝试在项目中实现dagger2,但遇到错误“ android.app.Application必须在没有@Inject构造函数或@Provides注释方法的情况下才能提供 ”。

这是我的代码:

App.java

package com.poppmedia.wallpaperautomaton;

import android.app.Application;

import com.poppmedia.wallpaperautomaton.di.DaggerAppComponent;

import dagger.android.AndroidInjector;
import dagger.android.DaggerApplication;

/**
 * The Android {@link Application}.
 */
public class App extends DaggerApplication {
    @Override
    protected AndroidInjector<? extends DaggerApplication> applicationInjector() {
        return DaggerAppComponent.builder().create(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

di / AppModule.java

package com.poppmedia.wallpaperautomaton.di;

import android.app.Application;
import android.content.Context;

import javax.inject.Singleton;

import dagger.Binds;
import dagger.Module;

/**
 * Provider application-wide dependencies.
 */
@Module
public interface AppModule {
    @Binds
    @Singleton
    Context bindContext(Application application);
}
Run Code Online (Sandbox Code Playgroud)

di / AppComponent.java

package com.poppmedia.wallpaperautomaton.di;

import com.poppmedia.wallpaperautomaton.App;

import javax.inject.Singleton; …
Run Code Online (Sandbox Code Playgroud)

java android dagger-2

5
推荐指数
1
解决办法
3460
查看次数

标签 统计

android ×1

dagger-2 ×1

java ×1