Android 在database.close()之后重新编译compiledQuery
我在android应用程序中使用SQLite,需要执行一些复杂的insert语句(带有子查询) 我发现Android 在database.close()之后重新编译compiledQuery,android,sqlite,Android,Sqlite,我在android应用程序中使用SQLite,需要执行一些复杂的insert语句(带有子查询) 我发现SQLiteStatement在这方面非常有用。它可以作为返回自动递增主键的insert语句进行多次编译和执行 由于我要在Activity#onPause()上关闭我的SQLiteOpenHelper(它关闭包含的SQLiteDatabase),然后在Activity#onResume()中重新打开它,我将一次又一次地获得不同的SQLiteDatabase实例 我是否应该为每个SQLiteDat
SQLiteStatement
在这方面非常有用。它可以作为返回自动递增主键的insert语句进行多次编译和执行
由于我要在Activity#onPause()
上关闭我的SQLiteOpenHelper
(它关闭包含的SQLiteDatabase
),然后在Activity#onResume()
中重新打开它,我将一次又一次地获得不同的SQLiteDatabase
实例
我是否应该为每个SQLiteDatabase
实例重新编译查询
或者我可以将编译后的语句缓存在静态变量中,并成功地将其用于不同的SQLiteDatabase
实例
源代码建议我应该(SQLiteStatement
包含对SQLiteDatabase
的引用)。。。但我不确定
非常感谢您的帮助。
SQLiteStatement
对象与特定的SQLiteDatabase
对象相关联,并且不能移动到另一个对象(没有用于该对象的函数,编译的结果无论如何也不会在任何其他数据库中工作)
您必须为新的数据库对象创建新的语句对象