您可以将 DBFlow Android ORM 与应用程序打包的现有数据库一起使用吗?

Can you use the DBFlow Android ORM with an existng Database Packaged with the app?

您可以将 DbFlow ORM 与现有的 SQLite 数据库一起使用吗?与应用程序打包在一起并在初始安装时复制(从资产文件夹)?

在 assets 文件夹中添加您的数据库 foo.db 并设置您的数据库 class FooDatabase 如下:

@Database(name = FooDatabase.NAME, version = FooDatabase.VERSION)
public class FooDatabase {

    public static final String NAME = "foo";
    public static final int VERSION = 1;

}

请注意,名称与 .db 相同。

现在假设你有一个 table FooTable 包含一列 id 和一列 fooName,我们需要将 table 表示如下:

import com.raizlabs.android.dbflow.structure.BaseModel;

@Table(databaseName = FooDatabase.NAME)
public class FooTable extends BaseModel {

    @Column @PrimaryKey(autoincrement = true) long id;
    @Column String fooName;

}

就这些了,测试一下,给db加点值记录一下显示:

List foo = new Select().from(FooTable.class).queryList()