Я только начал осматривать комнаты, устанавливать и обнаруживать ошибку.
Ошибка выглядит следующим образом:
.. \ todolist \ DAO \ NoteDao_Impl. java: 42: ошибка : несопоставимые типы: int и if (value.getId () == null) {
Насколько я знаю, это потому, что первичный ключ - int, поэтому этот класс имеет ошибку (этот класс имеет комната, а не моя создана). Я не знаю, как это исправить, пожалуйста, помогите мне.
Некоторая информация о классе
Примечание. java
@Entity(tableName = "Note")
public class Note {
@PrimaryKey(autoGenerate = true)
private Integer id;
private String content;
private int color;
private boolean isChecked;
private String nameSublist;
@Ignore
private Date createAt;
public Note() {
}
public Note(int id, String content) {
this.id = id;
this.content = content;
this.color = 0;
}
// getter and setter
}
NoteDao. java
@Dao
public abstract class NoteDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
public abstract Long insertNote(Note note);
@Update(onConflict = OnConflictStrategy.REPLACE)
public abstract void updateNote(Note note);
@Delete
public abstract void deleteNote(Note note);
@Query("DELETE FROM " + Constants.KEY_TABLE_NAME_NOTE)
public abstract void deleteAll();
@Query("DELETE FROM Note WHERE nameSublist= :sublist")
public abstract void deleteSublist(String sublist);
@Query("SELECT * FROM Note")
public abstract List<Note> queryAll();
@Query("SELECT * FROM Note WHERE nameSublist = :sublist")
public abstract List<Note> querySublist(String sublist);
@Query("SELECT * FROM Note WHERE id = :id")
public abstract Note queryNote(int id);
}
База данных приложений. java
@Database(entities = {Note.class}, version = 1, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {
private static final Migration MIGRATION_1_0 = new Migration(1, 0) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
// do something when update version
}
};
private static AppDatabase INSTANCE;
public static AppDatabase getInstance(Context context) {
if (INSTANCE == null) {
INSTANCE = Room.databaseBuilder(context, AppDatabase.class, Constants.KEY_TABLE_NAME_APPDATA) //todolist.sqlite
.allowMainThreadQueries() // allow query in main, default false
.addMigrations(MIGRATION_1_0)
.fallbackToDestructiveMigration()
.build();
}
return INSTANCE;
}
public abstract NoteDao noteDao();
}
Build.gradle
implementation 'android.arch.persistence.room:runtime:2.2.5'
annotationProcessor 'android.arch.persistence.room:compiler:2.2.5'
Ошибка изображения ошибка