当前位置: 首页 > 知识库问答 >
问题:

带有数据绑定的房间注释处理器

陈晟睿
2023-03-14

我已经在现有代码中使用了数据绑定,现在我正在迁移到持久性空间。我已经按照Florina的博客中提到的room的步骤去做了

当我删除房间依赖时,我的代码构建良好,没有java代码错误或BR相关错误

 annotationProcessor 'android.arch.persistence.room:compiler:1.0.0'
 Error:(29, 37) error: cannot find symbol class BR

他们俩似乎不在一起工作

迄今采取的步骤:

  1. 按此处建议将BaseObservable更改为Observable
  2. 将Android Studio更新到3.0.1
  3. 尝试使用gradle最新插件canary 6
  4. 清除,清除缓存也已完成

共有1个答案

孙佐
2023-03-14

经过4天的努力,我终于使我的代码正常运行。解决的步骤

数据绑定错误,如错误:包Com.PackageName.DataBinding不存在错误:找不到符号类CustomMainActivityBinding

app gradle必须添加以下代码才能查看默认情况下出现的100多个错误

allprojects {
gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xmaxerrs" << "4000"
        options.compilerArgs << "-Xmaxwarns" << "4000"
    }
  }
}
annotationProcessor 'com.android.databinding:compiler:3.0.1'

implementation 'android.arch.lifecycle:extensions:1.0.0'
implementation 'android.arch.persistence.room:runtime:1.0.0'
annotationProcessor 'android.arch.lifecycle:compiler:1.0.0'
annotationProcessor 'android.arch.persistence.room:compiler:1.0.0'

我更改了我的所有VM以实现Observable和调用

registry.notifyChange(this, BR.bar);

在通知更改并实现重写方法的情况下

@Override
public void addOnPropertyChangedCallback(OnPropertyChangedCallback    
callback) {
registry.add(callback);
}

@Override
public void removeOnPropertyChangedCallback(
OnPropertyChangedCallback callback) {
registry.remove(callback);
}

这些东西使我的代码构建,但当我解决房间查询相关错误时,它无例外地运行。这是主要原因,代码正在构建,但没有运行。当我再次否决我的项目时,我可以看到这些错误。

    null

我无法在IDE中获得这些错误。

 类似资料:
  • 在我的应用模块的build.gradle中,我添加了 但我仍然收到编译器警告 一切正常,我只是讨厌到处挂着警告。 非常感谢任何帮助!

  • 我正在使用注释处理器来处理方法参数的注释。 用于参数的注释类型有一个注释@参数 现在,当注释处理器运行时,我想检查参数注释()是否有参数注释。我通过执行以下代码来实现这一点。 由于某种原因,arg始终为空。是否有注释未返回的原因?

  • 我试图创建一个在realm.io之上工作的注释处理器。遗憾的是,要使用realm,你需要一个android项目,而要创建一个注释处理器,你需要一个java项目(以便导入javax.annotation.processing.*) 有人知道如何在android库上导入AbstractProcessor和所有其他需要的东西吗?我找不到这样做的方法(已经将目标兼容性和源兼容性切换到1.7)

  • 本文向大家介绍json数据处理及数据绑定,包括了json数据处理及数据绑定的使用技巧和注意事项,需要的朋友参考一下 一.json数据处理 1.json数据 2.获取数据 数据注入:"{{data}}" 3.数据处理: 4.数据绑定 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • 问题内容: 我正在尝试在Java项目上运行Dagger 2和Lombok。当然,龙目岛必须首先运行,但是它的确存在取决于机会。起初,我怀疑我可以通过类路径中库jar的相应位置来指定顺序,但是该顺序显然被忽略了。 有没有办法指定它们以某种方式运行的顺序,还是我必须忍受不能合并两个AP的情况? 我制作了一个SSCCE测试用例。 一个简单的&就足以说明问题- 如果在App.java中注释第18行和取消注

  • 我正在尝试在我的Java项目中运行Dagger2和Lombok。当然,龙目岛必须先跑,但它是否真的跑了,似乎要看机会。起初,我怀疑我可以通过库jar在类路径中各自的位置来指定顺序,但这个顺序显然被忽略了。 有没有一种方法可以指定它们运行的顺序,或者我只能忍受不能组合两个AP? 我已经生成了一个SSCCE测试用例。 一个简单的&就足以说明这个问题--如果您在app.java中注释第18行而取消注释第