在2.1版本中,Room增加了对协同程序的支持,但我无法让它工作。这应该和添加依赖项一样简单,但不知为什么我忽略了一些东西。
在我的build.gradle我有协程的依赖关系,房间和房间协程
dependencies {
def room_version = "2.2.0-beta01"
// Room components
implementation "android.arch.persistence.room:runtime:$room_version"
kapt "android.arch.persistence.room:compiler:$room_version"
implementation "androidx.room:room-ktx:$room_version"
androidTestImplementation "android.arch.persistence.room:testing:$room_version"
def coroutines_version = "1.1.1"
// Coroutines
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version"
}
我已经尝试重新同步gradle,清理和重建项目。
在我的Doa中,我有如下方法
@Dao
interface PlanDao {
@Insert
suspend fun insertVerPlan(verPlan: SqlVerPlan)
}
当试图构建项目时,Room不知道如何处理挂起的功能,会发生以下错误:
error: Type of the parameter must be a class annotated with @Entity or a collection/array of it.
kotlin.coroutines.Continuation<? super kotlin.Unit> p1);
^
error: Methods annotated with @Insert can return either void, long, Long, long[], Long[] or List<Long>.
public abstract java.lang.Object insertVerPlan(@org.jetbrains.annotations.NotNull()
^
我真的不知道我错过了什么,自从新的房间版本以来,我找不到有同样问题的人。
你在混合不同版本的房间图书馆。
android。拱坚持不懈房间:运行时
应该是androidx。房间:房间运行时
android。拱坚持不懈房间:编译器
应该是androidx。房间:房间编译器
android.arch.persistence.room:测试
应该是androidx.room:房间测试
按照房间#声明依赖关系
因为编译器使用的是旧坐标,所以它不知道suspend
支持。
使用Gradle 4.4.1和静态编程语言-DSL,我想在我的静态编程语言1.2.20项目中配置实验性的静态编程语言协程。这被证明是出奇困难的。 官方静态编程语言留档本身只提到Groovy DSL的Gradle,而不是静态编程语言。 Kotlin DSL项目有一个不起作用的协同路由示例。可能是针对较旧的Gradle版本(该脚本中的Kotlin版本为1.1.51,这本身就是可疑的)。 PS:甚至In
本文向大家介绍Android kotlin+协程+Room数据库的简单使用,包括了Android kotlin+协程+Room数据库的简单使用的使用技巧和注意事项,需要的朋友参考一下 Room Room是Google为了简化旧版的SQLite操作专门提供的 1.拥有了SQLite的所有操作功能 2.使用简单(类似于Retrofit),通过注解的方式实现相关功能。编译时自动生成实现类impl 3.L
Kotlin Coroutines question...使用属性而不是函数作为异步调用的访问器。 背景是我试图将与库一起使用,以便在而不是添加回调... 目前有一个属性getter调用挂起函数,但不确定如何正确启动协程以避免 所需单位找到XYZ 错误... 关于如何处理这个问题的任何想法?
我转换java代码到kotlin代码,我得到类型未解决的java类错误。 我的Java类是 已转换的Kotlin类 非常感谢。
我在Java中经常使用AOP。看起来传统的java方法很容易在Kotlin中重用。鉴于Kotlin强调不变性,JDK代理似乎是Kotlin中最可行的解决方案,前提是您遵循相同的接口优先(在Kotlin中更好地说是特征优先)编程风格,例如: 因此,现在可以很容易地用Spring/AOP编写一个方面,并将其应用到MyServiceImpl实例中。应该提到的是,基于Java接口生成的代理可能更受Kotl
我有一个传统的SpringMVC(servlet堆栈)应用程序,它使用。在最近的Spring启动 2.2.0 版本中,为反应式堆栈 (webflux) 添加了 Kotlin 协程支持。我想知道在(servlet 堆栈)Spring MVC 中使用时,是否可行将 Kotlin 协程与 Web 客户端一起使用。