Android:在单例类中访问AssetManager?

时间:2011-09-09 11:57:02

标签: android android-assets

我有一个单例类来管理我的应用程序的数据和数据库处理。我使用默认值创建一个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?????

}

};

我想知道这可能吗?

1 个答案:

答案 0 :(得分:1)

Context引用传递给initDatabase(),然后您可以使用其方法访问应用私人目录中的文件和数据库。