Unity发布安卓无法读取StreamingAssets文件下数据库的问题
在移动端StreamingAssets下的文件是只读的,但大家可能跟我一样遇到了发布安卓以后放在StreamingAssets下的数据库文件一样读取不了,
但其实这个文件夹其实是可以读取到的,所以我们需要使用XML来读取文件,然后转存到persistentDataPath目录下,下面是代码:
1 public static class Config 2 { 3 public static string filepath = Application.persistentDataPath + "/TowerDefenseDB.sqlite3"; 4 public static string DbConnectionString = "URI=file:" + filepath; 5 }
1 if (!File.Exists(Config.filepath)) 2 { 3 //如果数据库文件没有被创建,则创建数据库文件. 4 WWW loadDB = new WWW("jar:file://" + Application.dataPath + "!/assets/" + "TowerDefenseDB.sqlite3"); 5 while (!loadDB.isDone) 6 { 7 } 8 File.WriteAllBytes(Config.filepath, loadDB.bytes); 9 } 10 conn = new SqliteConnection(Config.DbConnectionString);
下面是数据库的正常操作代码,我这里就不多写了