unity 在安卓中使用SQLite

unity 在安卓中使用SQLite因注意以下几点:

1.在Player Setting里的 把API Compatbility Level 选择.NET 2.0。

2.把数据库放在StreamingAssets文件下

3.由于在安卓中StreamingAssets下的文件是只读属性,所以要把数据库拷贝到沙盘路径

关键代码如下:

#if UNITY_EDITOR
        path = Application.streamingAssetsPath + datebaseName;
#elif UNITY_ANDROID
        // 沙盘路径
        path = Application.persistentDataPath + datebaseName;

        if (File.Exists(path)) {
            // 如果沙盘路径中已经有数据库,应该先删除掉,以防是数据库有更新
            File.Delete(path);
        } 

        // jar:file:是安卓手机路径的意思  
        // Application.dataPath + "!/assets/"   即  Application.dataPath/StreamingAssets  
        WWW loadDB = new WWW("jar:file://" + Application.dataPath + "!/assets" + datebaseName);
        while (!loadDB.isDone) { }
        // 因为安卓中stream路径下的文件权限是只读,所以获取之后把他拷贝到沙盘路径中
        File.WriteAllBytes(path, loadDB.bytes);
#else
        path = Application.streamingAssetsPath + datebaseName;
#endif

        _Connection = new SqliteConnection("URI=file:" + path);



你可能感兴趣的:(Unity学习总结,Unity)