在我的安卓应用程序中,我正在使用google ROOM lib来创建sqlite数据库。
我用不同的控制器(用户定义)在我的单个应用程序中创建了两个数据库。
下面是我实现的代码
数据库1 :
@Database(entities = {JobTable.class}, version = 1)
public abstract class JobRoomController extends RoomDatabase
{
public static JobRoomController controller;
public abstract JobTable jobTable();
public static JobRoomController database(Context context)
{
if(controller == null)
{
controller = Room.databaseBuilder(context.getApplicationContext(),
JobRoomController.class, "Job")
.allowMainThreadQueries()
.build();
}
return controller;
}
@Override
protected SupportSQLiteOpenHelper createOpenHelper(DatabaseConfiguration config) {
return null;
}
@Override
protected InvalidationTracker createInvalidationTracker() {
return null;
}
}数据库2:
@Database(entities = {DbTrackServer.class,DbGpsStatus.class}, version = 1)
public abstract class RoomControl extends RoomDatabase {
public abstract IGpsStatus gpsStatus();
public abstract ITrack track();
private static RoomControl roomControl;
public static RoomControl database(Context context)
{
if(roomControl == null)
{
roomControl = Room.databaseBuilder(context.getApplicationContext(),
RoomControl.class, "mobileTracker")
.allowMainThreadQueries()
.build();
}
return roomControl;
}
@Override
protected SupportSQLiteOpenHelper createOpenHelper(DatabaseConfiguration config) {
return null;
}
@Override
protected InvalidationTracker createInvalidationTracker() {
return null;
}
}但是当我构建我的项目时,它显示的是gradle错误。
**Error:任务执行失败“:app:compileDebugJavaWithJavac‘。
java.lang.IllegalArgumentException:@android.arch.persistence.room.ColumnInfo没有定义元素collate()**
发布于 2018-01-19 10:16:03
--我通过从gradle文件中更新Room Lib来解决这个问题。
https://stackoverflow.com/questions/48319056
复制相似问题