这是连接名为" library.db"的数据库的代码。在资产文件中。
public abstract class DBConstant {
//database file directory
public static String DATABASE_PATH = "/data/data/(pack_name)/databases";
//database file name
public static String DATABASE_FILE = "library.db";
//database version
public static int DATABASE_VERSION = 1;
}
然而,在我的笔记本电脑中,带有Windows的笔记本电脑或带有mac os的笔记本电脑,应用程序找不到.db文件。将/databases
修改为/assets
后,一切顺利。另一个奇怪的是,当我将其编辑回/databases
时,它在带有Windows的笔记本电脑上运行良好,但在其他笔记本电脑上却出现故障。
这会发生什么?其他代码似乎没有区别。
答案 0 :(得分:1)
在编译它假设转换为我相信的正确的分隔符,但平台无关将看起来像这样:
String path = File.separator + "data"+ File.separator + "data" + File.separator + "pack_name" + File.separator + "databases";
请参阅问题:File.separator or File.pathSeparator和Why is File.separator in Android using?以及Difference between File.separator and slash in paths