将Roomdb添加到当前项目后。其显示数据绑定错误

时间:2018-07-27 05:36:58

标签: android data-binding dagger-2 android-room

我将Room数据库代码添加到当前项目中,并且在添加注释@Database后出现数据绑定错误。 但如果注释了@Database注释,则一切正常。

我的数据库课程

print (df.where(df.ge(threshold).cumsum(1).cumsum(1).eq(1)).ffill(axis=1).fillna(df))
        0     1     2     3     4
130  0.10  0.20  0.12  0.25  0.25
143  0.11  0.27  0.27  0.27  0.27
146  0.30  0.30  0.30  0.30  0.30
324  0.06  0.20  0.12  0.15  0.20

Dao

@Database(entities = Filter.class, version = 1, exportSchema = false)
public abstract class TestDb extends RoomDatabase {
    abstract public FilterDao filterDao();
}

实体类:

@Dao
public interface FilterDao {
    @Insert(onConflict = OnConflictStrategy.REPLACE)
    void insert(FilterValue filter);

    @Query("SELECT * FROM FilterValue")
    LiveData<FilterValue> getListFilter();
}

注意:如果我注释@Database注释代码,则无需创建数据库即可正常工作。

@Data
@Accessors(chain = true)
@ToString
@Entity
public class Filter {
    @PrimaryKey
    @ColumnInfo(name = "startDate")
    private long startDate;
    @ColumnInfo(name = "endDate")
    private long endDate;
    @ColumnInfo(name = "adult")
    private int adult;
    @ColumnInfo(name = "child")
    private int child;
    @ColumnInfo(name = "noOfRoom")
    private int noOfRoom;
    @ColumnInfo(name = "childrenAgeList")
    private int childrenAgeList;

    @ColumnInfo(name = "searchKeyword")
    private String searchKeyword;
}

但是我可以看到匕首已成功生成我的数据库查询。

_db.execSQL(“如果不存在则创建表//@Database(entities = Filter.class, version = 1, exportSchema = false) public abstract class TestDb extends RoomDatabase { abstract public FilterDao filterDao(); } Filter INTEGER NOT NULL,startDate INTEGER NOT NULL,endDate INTEGER NOT NULL,{{1} } INTEGER NOT NULL,adult INTEGER NOT NULL,child INTEGER NOT NULL,noOfRoom TEXT,PRIMARY KEY(childrenAgeList))));

请帮助我了解以下错误。我怎么能知道出了什么问题@Database注释

如果我从gradle.build代码中注释掉了房间编译器,则编译成功,但是在这种情况下,它的抛出错误找不到_impl类。

据我了解,编译器负责生成database_impl类

  

annotationProcessor   “ android.arch.persistence.room:compiler:$lifecycleVersion”

所以我觉得使用Room complier的数据绑定类之间存在一些冲突

searchKeyword

错误:

startDate

1 个答案:

答案 0 :(得分:0)

很奇怪,但事实如此。我有同样的问题;我的APK无法编译。我发现this answer对检查文本形式的构建输出很有用。注意最后的错误。

就我而言,我没有用@NonNull注释我的主键字段。您的情况可能有所不同;但是,应该类似。