Android Studio从资源加载文件

时间:2014-03-14 12:08:54

标签: java android junit intellij-idea android-studio

我正在尝试从资源加载.json文件,以便我可以在单元测试中使用它们。

我创建了一个资源文件并将其标记为'resources root'目录,并将我的.json文件放在其中。由于文件仅用于测试,我不希望将它们放在/ res目录中,因为它会不必要地使应用程序膨胀。

我正在尝试使用以下代码打开资源文件,但是inputStream将返回null。

InputStream inputStream = Thread.currentThread().getContextClassLoader()
                          .getResourceAsStream("file.json”);

我在.iml文件中设置了以下内容,该文件应该将该目录表示为资源,但它似乎没有任何效果。

<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />

有没有人有任何想法我可能会出错?提前谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用资源文件夹

下的资源文件夹或原始文件夹

答案 1 :(得分:2)

当构建应用的APK文件时,它不包含您在“res”和“asset”之外创建的目录。测试时,只有APK中的文件会部署到设备或模拟器。因此,无法测试您未包含在APK中的文件。

放置在tests目录中的文件似乎无法访问。所以AFAIK,你必须把文件放在app APK中,然后再删除它。或者,更好的是,可以使用gradle来生成应用APK的版本以进行测试,并使用另一个版本来发布。发布版本可以排除该文件。