2

Unity で Oculus Go アプリを作成しています。GOの内部ストレージにtxtファイルを作成しようとしています。(HMD を PC に接続したときに表示されるもの)。

私はそれらの異なるパスを試しましたが、どれもうまくいかないようです:

  • Application.persistentDataPath
  • /mnt/sdcard/myFolder
  • //ストレージ/エミュレート/0/Android/データ/myFolder.

誰かがクールになる正しいものを知っていれば、ありがとう!

4

2 に答える 2

4

これは書き込み機能です:

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;
}
于 2018-09-10T15:58:28.833 に答える