我正在使用房间来建立简单的笔记应用程序。下面是我的note实体类:
@Entity(tableName = "notes")
public class Note {
@PrimaryKey(autoGenerate = true)
private long id;
@ColumnInfo(name = "description")
private String description;
@Ignore
public Note() {
}
public Note(String description) {
this.description = description;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
@Dao
public interface NoteDAO {
@Insert
public long[] insertNote(Note... note);
@Update
public void updateNote(Note note);
@Delete
public void deleteNote(Note note);
@Query("Select * from notes")
LiveData<List<Note>> getAllNotes();
}
public class NoteRepository {
NoteDatabase mNoteDatabase;
public NoteRepository(Context context) {
this.mNoteDatabase = NoteDatabase.getInstance(context);
}
public void insertNote(Note note){
// mNoteDatabase.getNodeDAO().insertNote(note);
new InsertAsync(mNoteDatabase.getNodeDAO()).execute(note);
}
public void updateNote(Note note){
mNoteDatabase.getNodeDAO().updateNote(note);
}
public void deleteNote(Note note){
mNoteDatabase.getNodeDAO().deleteNote(note);
}
public LiveData<List<Note>> getAllNotes(){
return mNoteDatabase.getNodeDAO().getAllNotes();
}
}
private void retrieveNote() {
mNoteRepository.getAllNotes().observe(this, new Observer<List<Note>>() {
@Override
public void onChanged(@Nullable List<Note> notes) {
if(data.size()>0){
data.clear();
}
if(data!=null){
data.addAll(notes);
}
adapter.notifyDataSetChanged();
}
});
}
我希望它会返回一个注释列表。但是我的应用程序崩溃了,这个错误消息显示“不确定如何将光标转换为该方法的返回类型”。
我通过更新到AndroidX解决了这个问题。您可以在这里找到链接:https://developer.android.com/jetpack/androidx/migrate
如果您使用的是android Studio3.2,只需转到Refactor->MIGRATE to AndroidX。
我正在尝试将此对象保存在Room数据库中,我读到了Typconverters用于将复杂对象转换为一个可以存储在数据库中的文件。我收到这个错误:错误:不确定如何将光标转换为此方法的返回类型(androidx.lifecycle.LiveData 我的问题类别: 我的dao类: 我的数据库类: 我的转换器类别:
使用我得到了这个错误,我想找出是哪种方法导致的。 我有多个s,总共大约有60个方法,这个错误只是在添加一个方法(复制 我可以发布整个类的s,但是我需要一种方法来知道哪个方法失败了。我尝试了,和,但是这些都没有显示任何有价值的信息。 我添加的方法是一个,带有返回类型,如在留档中建议的那样 UPDATE或DELETE查询可以返回空或int。如果是int,则该值是受此查询影响的行数。 编辑:我想补充一点
我在这里看到了很多问题,但这些答案都没有解决我的问题。这是我的DAO: 我正试图得到一个包含在该类别中的食谱列表。我得到一个编译时错误,它说: C: 。。。\app\build\tmp\kapt3\stubs\debug\com\mitch\rcp\RecipeDAO。java:18:错误:不确定如何将游标转换为此方法的返回类型(void)。 但我的返回类型不是void?我不明白。
我正在使用kotlin和room库开发一个android应用程序。当我试图获取插入项的id时,我得到了以下错误 不确定如何处理insert方法的返回类型。公共抽象java。lang.Object InsertReceive(@org.jetbrains.annotations.NotNull() 我尝试过其他类似的解决方案,但它不起作用 这是我的密码 收据kt 接收道。kt ReceiptRepo
以下代码: 在流星启动时导致错误: 如何将数组转换为光标?或者像处理ArrayUtils一样处理数组。intersect()在查找查询中是否在此处操作?
下面的方法调用RetrieveRecords方法,该方法是异步的,返回类型为Task<>。调用方法接受datatype作为DataView。现在我得到一个错误“不能从System.Data.DataView转换到System.Task.DataView。我知道这个错误是由于类型转换不匹配造成的。我如何将任务<>转换到DataView。这对我来说是非常必要的。我做了很多研究,但没有找到解决方案。 返