unity3d - android文件读取错误

时间:2017-06-07 14:00:23

标签: c# android xml unity3d uri

我在构建apk文件后在aandroid上读取文件时遇到问题。当我尝试读取数据时:

*罐:文件:///数据/应用/ 应用程序名称 /base.apk!/assets/Levels/level0.xml,*

游戏会粉碎并显示错误消息: URI方案必须以字母开头,并且必须包含字母,数字,' +',' - '或'。'字符

以下是抛出异常的代码的一部分:

void start()
{
        //some part of code
        level = Level.loadLevel(Path.Combine(Application.streamingAssetsPath , Path.Combine("Levels", "level0.xml")));
        //some part of code
}
public static Level loadLevel(string filePath)
{
        Level result = new Level();
        XmlDocument doc = new XmlDocument();
        doc.Load(filePath);
        //some part of code
}

1 个答案:

答案 0 :(得分:0)

由于文件包含在压缩的.jar文件中,因此您必须使用Unity WWW类来读取它们。它应该是这样的:

public IEnumerator loadLevel(string filePath)
{
    WWW www = new WWW(filePath);
    yield return www;
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(www.text);
    [...]
}

希望这有帮助,