我一直使用相同的代码从assets文件夹中的文件创建数据库 现在我试图在JellyBean 4.3模拟器中运行相同的代码,并在此点
public DataBaseHelper(Context context, String nomeDB) {
super(context, nameDB, null, version);
DB_NAME = nameDB;
DB_PATH = "/data/data/" + context.getPackageName() + "/databases/";
this.mContext = context;
}
public void createDataBase() throws IOException {
....
}
应用程序在此行崩溃
DB_PATH = "/data/data/" + context.getPackageName() + "/databases/";
使用IOException
此外,Eclipse编辑器向我显示了对硬编码/数据/路径的警告,因此我假设有一种更好的方法来编写PATH以避免这些问题
在DB_PATH
字符串中使用什么是正确的语法,以避免不同设备可能出现的问题?
答案 0 :(得分:1)
在您的情况下,IOException可能意味着它没有在引用路径中找到数据库文件。 我总是使用Android内置的API方法,而不是构建路径。
以下方法在Context中可用,为您提供数据库路径。
public File getDatabasePath (String name)
返回数据库创建的文件系统的绝对路径 with openOrCreateDatabase(String,int,SQLiteDatabase.CursorFactory) 存储。
您可以在此link上阅读。
答案 1 :(得分:0)
试试这个
DB_PATH =“// data // data /”+ context.getPackageName()+“// databases //”;
它可以解决您的问题。