gpt4 book ai didi

android - 使用 ORMLite 的 ActiveRecord

转载 作者:搜寻专家 更新时间:2023-10-30 22:17:11 25 4
gpt4 key购买 nike

我真的很喜欢 Activity 记录的想法,我打算实现以下设计:所有具体模型都扩展了抽象模型,抽象模型具有基本的 CRUD 操作。

这是模型上的示例保存功能:

public void save(){
try {
getDao().createOrUpdate(this);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

这里是 getDao():

private static Dao<Model, Integer> getDao(Context context){
Dao<Model, Integer> result = null;

DatabaseHelper dbHelper = new DatabaseHelper(context);
try {
result = dbHelper.getDao(Model.class);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return result;
}

如您所见,我有 Model.class。除了将 Class 传递给 getDao 函数之外,是否还有其他选项或模式来实现以下设计?

最佳答案

不要让 getDao 方法静态然后:

result = dbHelper.getDao(getClass());

编辑:

在那种情况下,您将不得不以某种方式告诉 getDao 方法要获取什么 dao。你可以使用类似的东西:

private static <T> Dao getDao(Context context, T object){
try {
return new DatabaseHelper(context).getDao(object.getClass());
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}

关于android - 使用 ORMLite 的 ActiveRecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10178580/

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