【发布时间】:2015-01-11 12:15:02
【问题描述】:
我的团队和我自己正在使用 libgdx 创建一个应用程序,我们将一些数据保存在一个 json 文件中。没什么特别的。该文件保存在“android/assets/data/cards.json”中,因此 Gdx.files.internal 命令可以在 android(自然)和运行桌面版本时(更改工作目录后)轻松找到它。 问题是,在 intellij 中运行测试时,工作目录更改不适用,因此找不到它。我试图将所述文件的副本复制到核心项目中。所以我有这两种读取文件的方法:
public static final String cardsJsonFilePath = "data/cards.json";
/**** at a later method ****/
byte[] encoded = (Gdx.files.internal(cardsJsonFilePath)).readBytes();
byte[] encoded = Files.readAllBytes(Paths.get(cardsJsonFilePath));
第一个分配适用于除测试(从 GDX.files.internal 接收 null)之外的所有配置,第二个分配只要我将数据文件夹的副本保留在核心目录中,而不是在 android 上(因为文件和路径在android中似乎不存在)。 此外,后者是一个相当糟糕的解决方案,因为它迫使我保留文件的更新副本以进行测试。
TL ;博士 我有一个资产,我希望我的测试可以在 intellij 中访问,并且我希望它可以与 libgdx.files.internal 或其他一些 android 友好的解决方案一起使用。
提前致谢!
【问题讨论】:
-
您可以在 IntelliJ 运行配置的设置中为您的测试指定工作目录。这没有帮助吗?
-
实际上我还没有为我的测试定义它,只是为了我的应用程序运行。或者我会马上做。但事实证明我在诊断自己的问题时错了。
标签: android intellij-idea libgdx