gpt4 book ai didi

android - 使用 greenDao android ORM 库创建超过 1 个 *.db 文件

转载 作者:搜寻专家 更新时间:2023-11-01 08:51:15 26 4
gpt4 key购买 nike

我正在使用 greenDao 库 ( http://greendao-orm.com/ ) 来管理我的 android 应用程序数据库。一切正常,但我找不到创建许多 *.db 文件的方法。我所有的表都在同一个文件中,即。书籍.db。有没有办法告诉 greenDao 将书籍相关表放在 books.db 中,将作者相关表放在 authors.db 中?

在此先感谢您的帮助。

编辑:
好的,我已经解决了这个问题。您可以通过将它们放在不同的模式中来制作许多 *.db 文件,然后对每个模式使用 generatedAll i.ex:

try {

new DaoGenerator().generateAll(schema1, _path);
new DaoGenerator().generateAll(Schema2, _path);

System.out.println("Successfully generated all files to: " + _path);
} catch (IOException e) {
e.printStackTrace();
System.out.println("IOException error: " + e.getMessage());
} catch (Exception e) {
e.printStackTrace();
System.out.println("Exception error: " + e.getMessage());
}

最佳答案

这是解决我的问题的完整代码。例如我想要 2 个数据库文件:database1 和 database2 然后我会做类似的事情。请注意,将它们放在不同的模式中将使 GreenDao 创建 2 个 .db 文件。

public class ExampleDaoGenerator {
// Your first database schema version
private static final int _data1SchemaVer = 1;
// Your second database schema version
private static final int _data2SchemaVer = 1;

// Your first database package
private static final String _data1Package = "com.noitra.data.database1";
// Your second database package
private static final String _data2Package = "com.noitra.data.database2";

// Path to save generated files
private static final String _path = "../MyApplication/src-gen";

public static void main(String[] args) {

// Database1 schema
Schema data1Schema = new Schema(_data1SchemaVer, _data1Package);
data1Schema.enableKeepSectionsByDefault();

// Database2 schema
Schema data2Schema = new Schema(_data2SchemaVer, _data2Package);
data2Schema.enableKeepSectionsByDefault();

//Add methods where you define your databases
addData1Method(data1Schema);
addData2Method(data2Schema);

// Generate your databases
try {
DaoGenerator gen = new DaoGenerator();

// Generate database1
gen.generateAll(data1Schema, _path);
// Generate database2
gen.generateAll(data2Schema, _path);

System.out.println("Successfully generated all files to: " + _path);
} catch (IOException e) {
e.printStackTrace();
System.out.println("IOException error: " + e.getMessage());
} catch (Exception e) {
e.printStackTrace();
System.out.println("Exception error: " + e.getMessage());
}
}

private static void addData1Method(Schema schema) {
// DEFINE YOUR DATABASE1 HERE
}

private static void addData2Method(Schema schema) {
// DEFINE YOUR DATABASE2 HERE
}

关于android - 使用 greenDao android ORM 库创建超过 1 个 *.db 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23196543/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com