我有一个单例类来管理我的应用程序的数据和数据库处理。我使用默认值创建一个sqlite3数据库并将其保存在资产目录中。在我的这个类的一个API中,我检查了如果/data/data//my.db中不存在DB,则将其从资产目录复制到此位置。
鉴于我的类是单例并且不从UI类继承,这是否可以在我当前的设置中编写此API或者我必须重新考虑一些替代设计?
Class DBHandler {
// singleton class
public void initDatabase() {
File dbFile = new File("/data/data/<mypackage/a.db>");
if (dbFile.exists()) {
return;
}
//copy database from asset directory
//How to do this here?????
}
};
我想知道这可能吗?
答案 0 :(得分:1)
将Context
引用传递给initDatabase()
,然后您可以使用其方法访问应用私人目录中的文件和数据库。