我得到这个错误:
error: Each bind variable in the query must have a matching method parameter. Cannot find method parameters for :network.
error: Unused parameter: arg0
当尝试像这样的Room和静态编程语言时:
@Dao
interface TokenDefinitionDao {
@Query("SELECT * FROM token_descriptors WHERE network LIKE :network")
fun getAllForNetwork(network: String?): List<TokenDescriptor>
@Delete
fun delete(token: TokenDescriptor)
}
但我正在传递并使用这个参数。有人知道问题是什么,或者能给我举个例子,让我看看和科特林一起使用房间的情况吗?
为了避免这个问题,你必须在构建中使用kotlin kapt插件。格雷德尔。
...
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
...
android {
...
}
顺便说一句,确保您使用的是kotlin 1.2.0
尝试将“网络”参数更改为“arg0”
@Query("SELECT * FROM token_descriptors WHERE network LIKE :arg0")
在更新版本的kotlin and room中,此问题已修复!
我正在使用android的房间数据库。在我最近更新到静态编程语言1.7.0之前,它一直运行良好。现在我得到以下错误: 这是我的刀: 这是我的身材 当我将Kotlin降级到1.6.21时,它运行良好。这是科特林病毒还是我做错了什么?
我正在使用带有静态编程语言的android持久性库。 Dao看起来像这样 这对我来说似乎很好,但我得到了这个错误 错误:查询中的每个绑定变量必须有一个匹配的方法参数。找不到:countryId的方法参数 我可以看到参数被命名为,那么可能是什么问题呢? 仅供参考:这是CountryDao_I生成的代码mpl.java 在这种方法中,我看到arg0在方法中的任何地方都没有使用。 编辑:这似乎在新插件中
我想要找到一个文件的名称包含'Bob',并有一个位置在'paducah'或'smyrna'。 以下是我现在所拥有的: 我知道问题出在location数组上,因为如果我将它改为一个没有数组的元素,那么查询就可以正常工作。 这是我能找到的最接近的答案。 它没有工作,我收到以下错误: [term]查询格式错误,应为[END_OBJECT],但找到[FIELD_NAME]
根据这个问题,一个函数可以作为参数传递给另一个函数,如下所示 类似地,我们也可以从类中传递方法 但是如果我们要传递的方法是静态的(在伴随对象中)呢? 我知道,由于它是静态的,我们可以直接调用该方法,而不必将其作为参数传递,然而,在某些情况下(例如利用现有代码时),这仍然是有用的。
如何在for each循环中获取索引?我想为每一次迭代打印数字 例如 在java中,我们有传统的for循环 如何获取i?
问题内容: 我对Java完全不了解,但是在今晚练习时,我发现使用OOP设计时,主类中的每个方法都必须是静态的,对吗?在这段代码中,我无法在不是静态的类中调用方法。 似乎我可能遗漏了为什么要声明一个类是否为静态的问题。谢谢你的帮助! 问题答案: 您可以调用非静态方法,但是只能通过对象来调用。也就是说,您需要在给定对象上调用该方法。 您的主类也可以实例化,因此并非主类中的每个方法都必须是静态的。例如: