后端与Android Studio中的主应用程序不同步



我在我的应用程序中添加了一个谷歌云后端模块。它一直工作到昨天都很好。在那之后,它突然拒绝承认我对后端类所做的任何更改。例如,我在后台有一个模型类"Match",它有setId、getId等方法。在应用程序模块中,我导入了Match类,并使用了它的方法。昨天,我向这个类添加了一个新方法"getText"。但这个方法并没有出现在应用程序模块auto-complete中,如果我试图强制使用它,它会显示"无法解析符号'getText'"错误。我认为这可能是一个同步问题,所以我做了以下操作(多次按不同顺序):

  • 生成项目
  • 清洁项目
  • 运行后端
  • 将后端部署到GAE项目
  • 将项目与Gradle文件同步
  • 使缓存无效/重新启动
  • 删除并再次添加Match类的导入语句,然后重新生成
  • 从头开始创建了一个新项目,添加了一个后端,并使用默认的"MyBean"类做了同样的事情。同样,它将只识别预先存在的方法,而不识别我想添加的新方法

但守则是坚定不移的。各个应用程序模块所指的后端类似乎在时间上冻结了。即使我注释掉Match类中的一些方法,然后重新构建项目,这些方法仍然会出现在应用程序模块中。

顺便说一句,我使用的是Android Studio 2.1。

现在只是把我的头撞到墙上。

听上去,我也遇到了同样的问题。最后我发现,项目的前端只从后端获得getterssetters。这些getterssetters基于后端上的类的成员。我猜Match类中没有一个名为text的成员,这就是getText()从未工作过的原因。此外,我打赌您删除/注释掉了其他一些方法,但没有从类中删除相应的成员。因为这些成员仍然存在,所以编译的前端类为它们创建getterssetters

我手头没有任何关于这方面的文档,但我已经学会了将后端类视为传递到前端的json字符串。无论有什么成员,都可以通过前端的getter/setter访问,但仅此而已。您构建的任何其他功能都只能进行后端访问。

相关内容

  • 没有找到相关文章

最新更新