Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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 回调打开/关闭数据库android_Java_Android_Database_Sqlite_Callback - Fatal编程技术网

Java 回调打开/关闭数据库android

Java 回调打开/关闭数据库android,java,android,database,sqlite,callback,Java,Android,Database,Sqlite,Callback,我有一个类负责数据库操作功能,并向用户隐藏数据库详细信息(简单的ORM方案) 问题是,我必须调用SQLiteOpenHelper.getWritableDatabase(),在每次调用这些函数的开头获取数据库对象,然后在结尾关闭数据库对象 这里有两个问题: (性能问题)在每个数据库中打开和关闭数据库 打电话 (代码重新分解问题)重复相同的代码行 在每个函数的开头和结尾 好问题。我个人一直在函数开始/结束时关闭opendatabase和database。这从来没有造成那么大的性能问题,我之所以这样

我有一个类负责数据库操作功能,并向用户隐藏数据库详细信息(简单的ORM方案)

问题是,我必须调用
SQLiteOpenHelper.getWritableDatabase()
,在每次调用这些函数的开头获取数据库对象,然后在结尾关闭数据库对象

这里有两个问题:

  • (性能问题)在每个数据库中打开和关闭数据库 打电话
  • (代码重新分解问题)重复相同的代码行 在每个函数的开头和结尾
    好问题。我个人一直在函数开始/结束时关闭opendatabase和database。这从来没有造成那么大的性能问题,我之所以这样做是因为Android防止您不关闭数据库对象,我不知道如何将其应用于类级变量。您必须每次打开/关闭,否则将出现错误。我的应用程序在3个线程中下载3个文件,总共向数据库插入了80个,即使每次我必须在我的方法中使用synchronized时打开和关闭数据库,或者我得到了“数据库已打开”、“无法关闭数据库”或“数据库未打开”,因为他们正在争夺数据库。
    class Product {
         void create(){..}
         void update(){..}
         ... other CRUD Functions
    }