我正在 Unity 中创建非常简单的游戏,并希望保存结果、时间等。 我为此使用 System.IO,一切正常,但当我从“.apk”更新我的应用程序时,所有结果都消失了。
那么如何创建更新后不会被删除的文件呢?
public static void Save()
{
string[] lines = new string[] {
Language,
First_Test.ToString(),
Last_Test.ToString(),
MakeLine(ref Attention_Results),
MakeLine(ref Memory_Results),
MakeLine(ref Reaction_Results),
Attention_Best.ToString(),
Memory_Best.ToString(),
Reaction_Best.ToString(),
LastSend.ToString(),
UserName,
FlyTime.ToString() };
File.WriteAllLines(Application.persistentDataPath+ @"/Progres.save", lines);
}
最佳答案
编辑:根据您的需要,您可能想要更改潜在目录的顺序,甚至支持外部存储。如果是这样,请查看@LoungeKatt answer .
如果您不想使用 PlayerPrefs(我认为这是最强大的可用解决方案),您始终可以直接写入用户设备。
警告:请记住,这样做远非完美的解决方案!用户可以删除和编辑您保存的文件,这更像是一种解决方法,而不是真正的答案。
无论如何,由于内部文件目录路径从一个 Android 设备更改为另一个,您可以使用一个小脚本来找到它:
public static string GetAndroidInternalFilesDir()
{
string[] potentialDirectories = new string[]
{
"/mnt/sdcard",
"/sdcard",
"/storage/sdcard0",
"/storage/sdcard1"
};
if(Application.platform == RuntimePlatform.Android)
{
for(int i = 0; i < potentialDirectories.Length; i++)
{
if(Directory.Exists(potentialDirectories[i]))
{
return potentialDirectories[i];
}
}
}
return "";
}
希望这对您有所帮助,
关于android - 统一。安卓。更新应用程序后保存文件消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39983451/