如何将JSON文件添加到Android项目

31

可能是 https://dev59.com/DYXca4cB1Zd3GeqPDx8z 的重复问题。 - DavidS
请问您想将它放在应用程序下而不是文件夹中的确切原因是什么? - Rishabh Jain
3个回答

44

我想将它简单地移动到 app 下面

如果您真的想要在 app/something.json 目录下放置文件,您可以这样做,但它不会随应用程序一起打包,并且在运行时也无法访问。

如果您想将 JSON 文件与应用程序一起发布,则有四个主要选项:

  • 将其放入 assets/ 目录中并使用 AssetManager 和其 open() 方法来读取它并获取一个 InputStream

  • 将其放入 res/raw/ 目录中并使用 Resources 和其 openRawResource() 方法来读取它

  • 在 Java 代码中将其硬编码为字符串

  • 编写一个代码生成器,将 JSON 转换为 Java 类,您可以像访问代码生成的 RBuildConfig 类那样访问该类

可能已经存在这样的代码生成器。例如,我有一个 rudimentary Gradle 插件 (Staticizer) 就可以将 JSON 转换为 Java 类,我将在下一版 我的书 中包含它。


等一下,在没有assets文件夹的情况下,我可以毫无错误地运行它。你确定我们只需要把它放在assets文件夹里吗?我有些担忧,因为我可以不按照你所提到的那样运行它。 - Bay
1
@Bay:“我可以运行它,没有错误”——抱歉,但我不知道“它”是什么。“你确定我们只需要在资产文件上放置only和only吗?”——我在我的答案中列出了四个选项,而不仅仅是一个。 - CommonsWare

20

请按照以下步骤操作,并在我们项目中放置json文件。

步骤1:将Android更改为Project

步骤2:创建assets文件夹并像login.json这样放置json文件

进入图像描述

希望对您有所帮助...!


0

将它放在androidTest/assets/目录下, 只需创建一个file,例如SomeFile.json


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接