Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在我的应用程序中共享单个数据库帮助对象_Java_Android_Ormlite - Fatal编程技术网

Java 在我的应用程序中共享单个数据库帮助对象

Java 在我的应用程序中共享单个数据库帮助对象,java,android,ormlite,Java,Android,Ormlite,我有一个关于ormlite中的数据库助手的问题 我有一个数据库助手,在每一个活动中,我都会创建一个具有当前上下文的新实例,如下所示 DatabaseHelper helper = new DatabaseHelper(this); Dao<User, Integer> userDao = null; try { userDao = helper.getUserDao(); } catch (SQLException e) { e.printStackTrac

我有一个关于ormlite中的数据库助手的问题

我有一个数据库助手,在每一个活动中,我都会创建一个具有当前上下文的新实例,如下所示

DatabaseHelper     helper  = new DatabaseHelper(this);
Dao<User, Integer> userDao = null;
try {
    userDao = helper.getUserDao();
} catch (SQLException e) {
    e.printStackTrace();
}
DatabaseHelper=newdatabasehelper(这个);
Dao userDao=null;
试一试{
userDao=helper.getUserDao();
}捕获(SQLE异常){
e、 printStackTrace();
}
如果我只在应用程序类中创建了一个database helper对象,并使用getApplicationContext方法获取它会怎么样?应用程序将只有一个辅助对象


这是正确的方法吗?

是的,您应该在整个应用程序中始终使用DatabaseHelper的单个实例。

如果您只构建一个实例在每个活动中共享它,那么您将只有一个helper。你可以在整个应用程序中使用相同的DatabaseHelper实例,这可以防止不必要地创建消耗内存的对象。从一个地方访问它也有助于测试应用程序,否则这将很困难。请编辑您的问题以提供更多有关原因的详细信息。你评论的内容应该包含在答案中。