Android 房间插入不写入数据库

Android Room insert doesn't write to DB

插入数据后,在Android Studio 的Database Inspector 中检查数据。但是数据不在数据库中。另外,完全没有错误。
Table 和 table 列看起来没问题,但 table 甚至刷新时没有数据。
我想把它写到数据库中。如何进一步调试?
在 Fragment onCreateView,

View rview = inflater.inflate(R.layout.fragment_db, container, false);
context = rview.getContext();
vanDB = VanDB.getInstance(context);
String sDate = "21/8/2022";
Date a_date = null;
try {
        a_date = new SimpleDateFormat("dd/MM/yyyy").parse(sDate);
    } catch (ParseException e) {
        e.printStackTrace();
    }
Van a_van = new Van("123", a_date, false);
vanDB.vanDao().insertVan(a_van);

VanDB

@Database(entities = {Van.class}, version = 1, exportSchema = false)
public abstract class VanDB extends RoomDatabase {
    public abstract VanDao vanDao();
    public static VanDB van_db;
    public static VanDB getInstance(Context context) {
        if (null == van_db) {
            van_db = buildDatabaseInstance(context);
        }
        return van_db;
    }

    private static VanDB buildDatabaseInstance(Context context) {
        return Room.databaseBuilder(context, VanDB.class, "vans.db").allowMainThreadQueries().build();
    }

    public void cleanUp(){
        van_db = null;
    }
}

面包车

@Entity(indices = {@Index(value = {"serial"}, unique = true)}, tableName = 'van')
public class Van {

    @PrimaryKey(autoGenerate = false)
    @NonNull
    private String serial;

    @NonNull
    private Date expiry_date;

    private boolean validity;

    public Van(@NonNull String serial, @NonNull Date expiry_date, boolean validity) {
        this.serial = serial;
        this.expiry_date = expiry_date;
        this.validity = validity;
    }
    // getter and setter...

范道

@Dao
public interface VanDao {

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    Completable insertVan(Van van);

    @Update(onConflict = OnConflictStrategy.REPLACE)
    Completable updateVan(Van van);
}

愚蠢的问题 - 你的 Van class 有一个 public 构造函数用于 Vest class 但它没有显示错误? 另外,请根据 Completable 使用 RxJava,而不是 void?