在创建我的Unity3D应用程序的新版本时,我测试了在店内安装的基础上加载新版本。侧载应用程序无法再找到从店内版本保存的文件。
似乎问题是Application.persistentDataPath在两个应用程序版本之间有所不同。
在BuildSettings下:
Install Location: Prefer External
Write Access: Internal Only
AndroidManifest.xml似乎没有关于安装位置/写访问位置的信息。
我不介意将安装位置更改为强制内部,如果这有助于此更新和/或将来。但我不确定那个设置是做什么的。
我使用C#的XMLSerializer保存XML文件,然后使用Application.persistentDataPath将它们写入FileStream。
XmlSerializer serializer = new XmlSerializer(typeof([CLASS]));
FileStream stream = new FileStream( Application.persistentDataPath + "/[FILENAME].xml", FileMode.Create);
serializer.Serialize( stream, [OBJECT]);
stream.Close();
答案 0 :(得分:0)
您可以尝试在PlayerPref中保存XML字符串,如下所示:
PlayerPrefs.SetString("SaveGameName", yourXML);
得到它:
myxml = PlayerPrefs.GetString("SaveGameName");
过去,PlayerPrefs类对我来说对持久数据很有用。我知道即使您从应用商店安装新版本,这些数据仍然存在。
http://docs.unity3d.com/ScriptReference/PlayerPrefs.html这是关于它的文档。