安装时将Resources / StreamingAssets中的文件复制到Application.persistentDataPath
我有txt
文件,其中包含我在游戏中的地图数据。 问题是文件存储在Application.persistentDataPath
所以我甚至可以从我的android设备(创建的地图创建者)更改它,那么如何在我的PC上创建包含基本地图的txt文件并使其显示在我的android上的persistentDataPath
我安装应用程序时的设备?
您可以将文件放在Editor文件夹中的Resources文件夹中,然后使用Resources API读取。
TextAsset txtAsset = (TextAsset)Resources.Load("textfile", typeof(TextAsset)); string tileFile = txtAsset.text;
您可以检查这是否是第一次使用此应用程序运行。 之后,您可以将加载的数据复制到Application.persistentDataPath
目录。
已知Resources文件夹会增加加载时间。 我建议你不要使用它,但这是一个值得了解的选择。
将文件放在StreamingAssets文件夹中,然后使用WWW
或UnityWebRequest
API和Application.streamingAssetsPath
作为路径读取它,然后将其复制到Application.persistentDataPath
。
从StreamingAssets加载 :
IEnumerator ReadFromStreamingAssets() { string filePath = System.IO.Path.Combine(Application.streamingAssetsPath, "MyFile"); string result = ""; if (filePath.Contains("://") || filePath.Contains(":///")) { UnityEngine.Networking.UnityWebRequest www = UnityEngine.Networking.UnityWebRequest.Get(filePath); yield return www.SendWebRequest(); result = www.downloadHandler.text; } else result = System.IO.File.ReadAllText(filePath); }
然后将其保存到persistentDataPath:
File.WriteAllText(Application.persistentDataPath + "data/MyFile.txt", result);
您可以将此文件存储在Resources文件夹中,并在第一次启动Application.persistentDataPath
时将其复制到Application.persistentDataPath
。 或者在首次启动时从Resources读取文件,并在Application.persistentDataPath
创建具有相同内容的文件。
- 如何从Xamarin Forms for Android中的按钮视图中删除额外的填充?
- Xamarin Resource.designer.cs没有为新添加文件生成引用
- 如何在webview中下载文件..?
- TabLayout中的片段不绑定到viewmodel
- 将Base64字符串转换为位图或图像Xamarin或Android
- 无法在Xamarin.Forms Visual Studio 2015中加载memtrack(无此类文件或目录)错误
- Unity3D Android插件:无法启动服务
- 如何在C#桌面应用程序和移动(android)设备之间通过本地网络进行通信?
- 用于Animate TopMargin的ObjectAnimator代理无法找到设置/获取