【发布时间】:2017-06-10 14:53:24
【问题描述】:
当我在 Android 上构建时,我的 json 文件似乎没有加载,因为我没有看到数据。在统一编辑器中运行良好。我正在为那些在 PC 上工作但在 Android 上不工作的东西苦苦挣扎。我猜只是路径差异,但对于初学者来说并不容易。
这是我的代码 TRY 1:
public static JsonData LoadFile(string path)
{
var fileContents = File.ReadAllText(path);
var data = JsonMapper.ToObject(fileContents);
return data;
}
public void QuestionLoader()
{
// Load the Json file and store its contents in a 'JsonData' variable
var data = LoadFile(Application.dataPath + "/Resources/json/level1.json");
这是我的尝试 2 - 基于 Unity 手册 - https://docs.unity3d.com/Manual/StreamingAssets.html:
public static JsonData LoadFile(string path)
{
var www = new WWW(path);
return www.text;
//var fileContents = File.ReadAllText(path);
// var data = JsonMapper.ToObject(fileContents);
// return data;
}
public void QuestionLoader()
{
string path = "";
// Load the Json file and store its contents
#if UNITY_ANDROID
path = "jar:file://" + Application.dataPath + "!/assets/Levels/level1.json";
#endif
#if UNITY_EDITOR
path = Application.dataPath + "/StreamingAssets/Levels/level1.json";
#endif
//
var data = LoadFile(path);
【问题讨论】: