我已经在编辑器中使用了sqlite数据库就好了。但是在Android中使用它时,我收到一条错误,指出找不到数据路径。
我相信我在正确的plugins / android文件夹中有所需的libsqlite.so文件以及编辑器查找的其他DLL。
这是我的代码:
string filepath = Application.dataPath + "/" + "Players.db"; //.db
if(!File.Exists(filepath))
{
// if it doesn't ->
// open StreamingAssets directory and load the db ->
try {
WWW loadDB = new WWW ("jar:file://" + Application.persistentDataPath + "!/Assets/" + "StreamingAssets/Players.db"); // .db this is the path to your StreamingAssets in android
while (!loadDB.isDone) {
} // CAREFUL here, for safety reasons you shouldn't let this while loop unattended, place a timer and error check
// then save to Application.persistentDataPath
File.WriteAllBytes (filepath, loadDB.bytes);
} catch (Exception ex) {
GameObject.Find ("Advice").GetComponent<Text> ().text = ex.Message;
}
}
答案 0 :(得分:1)
您正在使用Application.DataPath
来保存文件。在编辑器模式下,它引用Assets文件夹但在android构建中它引用的是APK包,它是一个压缩文件而你无法访问它。所以请改用Application.persistentDataPath
。
string filepath = Application.persistentDataPath + "/" + "Players.db"; //.db