Android 数据加密和匕首错误2

Android 数据加密和匕首错误2,android,dagger-2,android-databinding,Android,Dagger 2,Android Databinding,我正在使用数据绑定开发一个项目,但在添加Dagger2并实现模块、组件和移植之后,我遇到了以下错误: 错误:(8,74)错误:包com.anda.soft.app.databinding不 存在 错误:(16,13)错误:找不到符号类ActivityMainBinding 错误:任务“:app:compiledBugJavaWithJavaC”的执行失败。 java.lang.IllegalArgumentException:不是有效的组件方法:injectPresentationFragmen

我正在使用数据绑定开发一个项目,但在添加Dagger2并实现模块、组件和移植之后,我遇到了以下错误:

错误:(8,74)错误:包com.anda.soft.app.databinding不
存在
错误:(16,13)错误:找不到符号类ActivityMainBinding
错误:任务“:app:compiledBugJavaWithJavaC”的执行失败。 java.lang.IllegalArgumentException:不是有效的组件方法:injectPresentationFragmentPresenter()

这是我的模块:

@Module
public class Modul {

    private Context context;


    public Modul(Context context){
        this.context = context;
    }

    @Provides
    public MainActivity provideMainActivity(){
        return new MainActivity();
    }

    @Provides
    public PresentationFragmentPresenter providePresentationFragment(){
        return new PresentationFragmentPresenterImp(provideMainActivity());
    }

}
我的成分:

@Component (modules = Modul.class )

public interface Compoment {
 void injectPresentationFragmentPresenter();
}
与图形

public class App extends Application {

    private Compoment mCompoment;

    @Override
    public void onCreate() {
        super.onCreate();

        setUpGraph();
    }

    private void setUpGraph() {
        mCompoment = DaggerCompoment.builder()
                .modul(new Modul(this))
                .build();
    }


    public Compoment getCompoment(){
        return mCompoment;
    }
}
最后是我的主要活动

    private ActivityMainBinding mActivityMainBinding ;
    @Inject PresentationFragmentPresenter mView;
    private Toolbar mToolbar;


    @Override
    protected void bindView(int layoutResource) {
        mView = new PresentationFragmentPresenterImp(this);
        mActivityMainBinding = DataBindingUtil.setContentView(this,layoutResource);
    }

    @Override
    public int getLayoutResource() {
        return R.layout.activity_main;
    }

我做错了什么?您知道Dagger和数据绑定之间是否存在不兼容吗?

组件有两种提供依赖关系的方法:

返回注入或提供类型的供应方法

下面是一个供应方法的示例。请注意,它是一个只返回依赖项的方法,在本例中是一个
OKHttpClient

OkHttpClient httpClient();
将依赖项注入特定类型的成员注入方法

下面是一个成员注入方法的示例。请注意,它只接受一个参数,即将与其依赖项一起注入的类型(在本例中为
MainActivity

void inject(MainActivity activity);
有关组件的更多信息,请访问

您的问题是
void injectPresentationFragmentPresenter();
两者都不是。它不返回任何内容,因此它不是一个provision方法。它也不带参数,因此它不能是一个成员注入方法。根据该方法的命名和您文章的其余部分,我猜您希望这样定义该方法:

void injectPresentationFragmentPresenter(PresentationFragmentPresenter presenter);

组件有两种提供依赖关系的方式:

返回注入或提供类型的供应方法

下面是一个provision方法的示例。请注意,它是一个只返回依赖项的方法,在本例中为
OKHttpClient

OkHttpClient httpClient();
将依赖项注入特定类型的成员注入方法

这里是一个成员注入方法的示例。请注意,它只接受一个参数,即将与其依赖项一起注入的类型(在本例中为
MainActivity

void inject(MainActivity activity);
有关组件的更多信息,请访问

您的问题是
void injectPresentationFragmentPresenter();
两者都不是。它不返回任何内容,因此它不是一个provision方法。它也不带参数,因此它不能是一个成员注入方法。根据该方法的命名和您文章的其余部分,我猜您希望这样定义该方法:

void injectPresentationFragmentPresenter(PresentationFragmentPresenter presenter);