我正在尝试实现房间数据库,我已经在官方网站上完成了一些步骤,“AppDatabase.java”文件如下所示:
import android.content.Context;
import androidx.room.Database;
import androidx.room.Room;
import androidx.room.RoomDatabase;
@Database(entities = {User.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public static AppDatabase instance;
public static synchronized AppDatabase getInstance(Context context){
if (instance==null){
instance = Room.databaseBuilder(context.getApplicationContext(),
AppDatabase.class, "app_database").fallbackToDestructiveMigration().build();
}
return instance;
}
}
和我用在房间里的依赖关系:
// Room Database
def room_version = "2.4.2"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
// optional - RxJava2 support for Room
implementation "androidx.room:room-rxjava2:$room_version"
// optional - RxJava3 support for Room
implementation "androidx.room:room-rxjava3:$room_version"
// optional - Guava support for Room, including Optional and ListenableFuture
implementation "androidx.room:room-guava:$room_version"
// optional - Test helpers
testImplementation "androidx.room:room-testing:$room_version"
// optional - Paging 3 Integration
implementation "androidx.room:room-paging:2.5.0-alpha02"
// Room Database
它在这里返回两个错误:
onCreate(SupportSQLiteDatabase) in <anonymous com.example.testdb1.room.AppDatabase_Impl$1> cannot override onCreate(SupportSQLiteDatabase) in Delegate
attempting to assign weaker access privileges; was public
onValidateSchema(SupportSQLiteDatabase) in <anonymous com.example.testdb1.room.AppDatabase_Impl$1> cannot override onValidateSchema(SupportSQLiteDatabase) in Delegate
attempting to assign weaker access privileges; was public
它在“花栗鼠”版本(在“大黄蜂”中使用)之前就已经开始工作了,但是它开始抛出这些错误。
这里发生什么事情?
发布于 2022-06-06 13:27:15
要修复Jetpack撰写和分页3中的此错误,只需使用以下库即可
//ROOM
implementation "androidx.room:room-runtime:2.4.2"
kapt "androidx.room:room-compiler:2.4.2"
implementation "androidx.room:room-ktx:2.4.2"
implementation "androidx.room:room-paging:2.4.2"
// Paging 3.0
implementation 'androidx.paging:paging-compose:1.0.0-alpha15'
发布于 2022-06-07 12:32:00
通过НикандроваЕлизавета的回答,我发现问题的根源是我从官方网站添加的可选实现之一。
这些依赖项足以运行我的代码:
def room_version = "2.4.2"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
发布于 2022-07-22 10:24:51
那么,我刚刚也遇到了这个问题,似乎您是在从官方指南中复制代码。这似乎是“androidx.Room:room-paging:2.5.0-alpha 02”的问题,因此解决方案是用最新的稳定版本(目前的2.4.2版本)替换它,或者只使用变量room_version
,您可以在:https://androidx.tech/artifacts/room/room-paging/上检查最新版本,因此您只需要用下面的代码替换它就可以解决这个问题
dependencies {
def room_version = "2.4.2"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
// optional - RxJava2 support for Room
implementation "androidx.room:room-rxjava2:$room_version"
// optional - RxJava3 support for Room
implementation "androidx.room:room-rxjava3:$room_version"
// optional - Guava support for Room, including Optional and ListenableFuture
implementation "androidx.room:room-guava:$room_version"
// optional - Test helpers
testImplementation "androidx.room:room-testing:$room_version"
// optional - Paging 3 Integration
implementation "androidx.room:room-paging:$room_version"
}
https://stackoverflow.com/questions/72508332
复制相似问题