Unity で Oculus Go アプリを作成しています。GOの内部ストレージにtxtファイルを作成しようとしています。(HMD を PC に接続したときに表示されるもの)。
私はそれらの異なるパスを試しましたが、どれもうまくいかないようです:
- Application.persistentDataPath
- /mnt/sdcard/myFolder
- //ストレージ/エミュレート/0/Android/データ/myFolder.
誰かがクールになる正しいものを知っていれば、ありがとう!
これは書き込み機能です:
File.WriteAllText(Path.Combine(_directoryPath, fileName), _text, System.Text.Encoding.ASCII);
これは読み取り機能です。
#if PLATFORM_ANDROID && !UNITY_EDITOR
TextAsset textAsset = new TextAsset(System.IO.File.ReadAllText(filePathAndName));
#elif UNITY_EDITOR
TextAsset textAsset = AssetDatabase.LoadAssetAtPath<TextAsset>(filePathAndName);
#endif
使用するパスは次のとおりです。
#if PLATFORM_ANDROID && !UNITY_EDITOR
SavedTextsCompleteFilePath = Application.persistentDataPath;
// just for debugging and playing in the editor
#elif UNITY_EDITOR
SavedTextsCompleteFilePath = "Assets/Resources";
#endif
// set the base file path, then add the directory if it's not there yet
SavedTextsCompleteFilePath = MakeFolder(SavedTextsCompleteFilePath, "MyGameSaveFolder");
}
およびヘルパー関数:
private string MakeFolder(string path, string savedTextsFolder)
{
string saveDirectory = path + savedTextsFolder;
if (!Directory.Exists(saveDirectory))
{
Directory.CreateDirectory(saveDirectory);
Debug.Log("directory created! at: " + path);
}
return saveDirectory;
}