![](/img/trans.png)
[英]Writing to Unity's StreamingAssets folder at runtime, on Android?
[英]Unity - File not writing on Android?
在過去的幾個小時里,我一直在努力讓它工作,這讓我發瘋。
我設置了一種保存數據的方法,該方法在PC上可以完美運行,但是在Android上,它不會寫入文件。 這是我的代碼:
public void Save()
{
string data = buildJson();
File.WriteAllText(Application.persistentDataPath + "/playerSave.json", data);
Debug.Log("File Saved: " + Application.persistentDataPath + "/playerSave.json");
}
不知道為什么它不起作用。 據我所知閱讀其他線程,使用Application.persistantDataPath是正確的做法。
有什么幫助嗎?
在android上,File.WriteAllText(Application.persistentDataPath +“ /playerSave.json”,data)將在您的SD卡上寫入數據,您需要在清單文件中添加android.permission.WRITE_EXTERNAL_STORAGE權限。 由unity創建的默認清單文件不會添加此權限。
如果WriteAllText失敗,則將引發異常。 為什么不嘗試捕獲異常並檢查錯誤是什么?
解決了。
我的問題是該方法甚至沒有被正確調用。
我已經創建了一個單例游戲對象,其中包含保存有我的save方法的腳本,但是我沒有使用引用來保存它,這意味着它僅在我在創建游戲對象的同一場景中調用save方法時才有效。 (在我在Unity編輯器中跳過菜單場景的情況是這種情況,但在應用程序中對其進行真實測試時不是這種情況)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.