Unity -文件不写在Android上



在过去的几个小时里,我一直在努力让这个工作,但它快把我逼疯了。

我有一个方法来保存数据,这在PC上完美地工作,然而,在Android上它不会写文件。下面是我的代码:

 public void Save()
{
    string data = buildJson();
    File.WriteAllText(Application.persistentDataPath + "/playerSave.json", data);
    Debug.Log("File Saved: " + Application.persistentDataPath + "/playerSave.json");
}

不知道为什么不工作。从我可以看出,读取其他线程,使用应用程序。persistantDataPath是正确的。

帮忙吗?

如果WriteAllText失败,将抛出异常。为什么不尝试捕获异常并检查错误是什么?

已解决。

我的问题是这个方法甚至没有被正确调用。

我已经创建了一个单独的游戏对象,它包含了包含我的保存方法的脚本,但我没有使用引用来保存它,这意味着它只有在我在创建游戏对象的同一个场景中调用保存方法时才有效。(这是当我跳过Unity编辑器中的菜单场景时的情况,但不是当我在应用程序中进行真实测试时的情况)

android上的File.WriteAllText(应用程序)。persistentDataPath +/playerSave。json",数据)将写入数据在你的sd卡你需要添加权限android.permission。WRITE_EXTERNAL_STORAGE在你的manifest文件。unity创建的默认manifest文件不添加此权限。

最新更新