【问题标题】:unity3d - android file reading errorunity3d - android文件读取错误
【发布时间】:2017-06-07 22:30:15
【问题描述】:

在构建 apk 文件后,我在读取 Android 上的文件时遇到问题。当我尝试读取数据表单时:

*jar:file:///data/app/appname/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
}

【问题讨论】:

    标签: c# android xml unity3d uri


    【解决方案1】:

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

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

    希望对你有帮助,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-04
      • 1970-01-01
      • 2017-07-09
      • 2018-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多