use*_*850 5 dependencies android android-room
我想尝试 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();
}
Run Code Online (Sandbox Code Playgroud)
每个房间库类都存在,但 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"
}
}
Run Code Online (Sandbox Code Playgroud)
看来你像Clean Architecture一样将层分开了。
如果我们假设您使用一个单独的模块来包装所有数据库事务等名为db_module
您应该注意,这Room是一个依赖于 Android 平台的 Android 库lifecycleAware,因此您必须将db_module包含 Room 的内容定义为 Android 库。
所以它只是使用
apply plugin: "com.android.library"
Run Code Online (Sandbox Code Playgroud)
代替
apply plugin: "java"
Run Code Online (Sandbox Code Playgroud)
这会将您的 java 模块更改为包含 Android 操作系统属性的 android 模块。
| 归档时间: |
|
| 查看次数: |
3172 次 |
| 最近记录: |