关于在Android中连接SQLite数据库的路线

时间:2017-09-28 04:12:40

标签: java android sqlite

这是连接名为" 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的笔记本电脑上运行良好,但在其他笔记本电脑上却出现故障。

这会发生什么?其他代码似乎没有区别。

1 个答案:

答案 0 :(得分:1)

在编译它假设转换为我相信的正确的分隔符,但平台无关将看起来像这样:

String path = File.separator + "data"+ File.separator + "data" + File.separator + "pack_name" + File.separator + "databases";

请参阅问题:File.separator or File.pathSeparatorWhy is File.separator in Android using?以及Difference between File.separator and slash in paths