我想试用Room Persistence库,但是在使用gradle添加和下载它之后,我可以找到大多数类,除了:
import android.arch.persistence.room.Database;
import android.arch.persistence.room.RoomDatabase;
import com.doors.geopoly.dal.entities.User;
@Database(entities = {User.class}, version = 1)
public abstract class GeoDatabase extends RoomDatabase {
public abstract UserDao userDao();
}
每个房间库类都存在,除了RoomDatabase在IDE中将变为红色表示无法解析该符号。
为什么?
这是我的gradle配置:
project(":core") {
apply plugin: "java"
dependencies {
compile "com.badlogicgames.gdx:gdx:$gdxVersion"
implementation "android.arch.persistence.room:runtime:1.1.1"
annotationProcessor "android.arch.persistence.room:compiler:1.1.1"
}
}
答案 0 :(得分:0)
似乎您将Clean Architecture之类的层分开了。
如果我们假设您使用一个单独的模块来包装所有数据库事务,以此类推,则命名为db_module
您应注意,Room
是lifecycleAware
且依赖于Android平台的Android库,因此必须将包含Room的db_module
定义为Android库。 / p>
所以它只是在使用
apply plugin: "com.android.library"
代替
apply plugin: "java"
这会将您的java模块更改为包含Android OS属性的android模块。
答案 1 :(得分:0)
由于某种原因,我和OP都有相同的错误,没有提供建议。
要修复,我必须手动创建导入:
import androidx.room.RoomDatabase;