DBFlow 版本:4.2.4
错误或功能请求:错误
描述:已将库从4.0.0-beta1
升级到4.2.4
。将库包含在我的 gradle 文件中,如下所示:-
dbFlow : "com.github.Raizlabs.DBFlow:dbflow:4.2.4",
dbFlowProcessor : "com.github.Raizlabs.DBFlow:dbflow-processor:4.2.4",
dbFlowCore : "com.github.Raizlabs.DBFlow:dbflow-core:4.2.4"
我的应用程序类如下;
FlowManager.init(FlowConfig.builder(this)
.addDatabaseConfig(DatabaseConfig.builder(TestDatabase.class)
.databaseName("test_database")
.build())
.build());
我们的测试数据库.class如下:-
@Database(version = TestDatabase.VERSION)
public class TestDatabase {
public static final int VERSION = 11;
}
以下是堆栈跟踪:-
Caused by: com.raizlabs.android.dbflow.structure.InvalidDBConfiguration: Model object: com.xxxx.TestMember is not registered with a Database. Did you forget an annotation?
at com.raizlabs.android.dbflow.config.FlowManager.getDatabaseForTable(FlowManager.java:141)
at com.raizlabs.android.dbflow.config.FlowManager.getModelAdapterOrNull(FlowManager.java:469)
at com.raizlabs.android.dbflow.config.FlowManager.getTableName(FlowManager.java:79)
at com.raizlabs.android.dbflow.sql.language.From.getTableAlias(From.java:43)
at com.raizlabs.android.dbflow.sql.language.From.getQuery(From.java:211)
at com.raizlabs.android.dbflow.sql.language.Where.getQuery(Where.java:189)
at com.raizlabs.android.dbflow.sql.language.BaseModelQueriable.querySingle(BaseModelQueriable.java:67)
at com.raizlabs.android.dbflow.sql.language.Where.querySingle(Where.java:249)
测试会员.class如下:-
@Table(database = TestDatabase.class, cachingEnabled = true)
public class TestMemberextends BaseModel implements Serializable {
@Column
public String name;
@Column
public String username;
@Column
public String phone;
@PrimaryKey
public String id;
@Column
public String pictureUrl;
@Column
public String thumb;
@Column
public String status;
@Column
public String members;
@Column
public String membersUsernames;
@Column
public String admin;
@Column
public String adminUsername;
@Column
public String presence;
@Column
public boolean isBlocked;
@Column
public boolean isMuted;
@Column(defaultValue = "0")
public int placeholder;
public TestMember() {
}
public TestMember(String id) {
this.id = id;
}
@Override
public boolean equals(Object obj) {
TestMember testMember= (TestMember) obj;
return this.id.equals(TestMember.id);
}
}
感谢帮助!!
新版本的 dbFlow 处理的注释被破坏了,重命名类TestMember.class
,TestDatabase.class
对我有用。