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);

下面是数据库的正常操作代码,我这里就不多写了

posted @ 2015-10-17 12:15  狭隘龙  阅读(3249)  评论(0编辑  收藏  举报