Android 如何将json文件加载到kotlin模块中供GSON解析
我需要读取一个Json文件来将数据加载到内存中 本项目具有以下模块结构:Android 如何将json文件加载到kotlin模块中供GSON解析,android,json,gson,inputstream,Android,Json,Gson,Inputstream,我需要读取一个Json文件来将数据加载到内存中 本项目具有以下模块结构: |_ app |_ data |_ datasource |_ theory.json |_ domain 我试图将json文件保存到data模块中,然后在datasource类中,我试图读取要由GSON库解析的文件 所以我尝试了数据模块的Kotlin类: val fileInputStream = FileInputStream("theory.json") val fileInputStre
|_ app
|_ data
|_ datasource
|_ theory.json
|_ domain
我试图将json文件保存到data
模块中,然后在datasource类中,我试图读取要由GSON库解析的文件
所以我尝试了数据
模块的Kotlin类:
val fileInputStream = FileInputStream("theory.json")
val fileInputStream = FileInputStream("/theory.json")
val fileInputStream = FileInputStream("../theory.json")
我总是得到这个错误的答案:
theory.json: open failed: ENOENT (No such file or directory)
但我将该文件放在packageapp
的assets
文件夹中,然后执行以下操作:
|_ app
|_assets
|_ theory.json
|_ data
|_ datasource
|_ domain
val file = context?.assets?.open("theory.json")
一旦我得到这个文件,我就能够读取这个文件并用Gson库解析它,所以它工作得非常完美
这里的问题是,要使数据源工作,我需要将文件创建到deapp
模块中,然后开始通过params将其传递给数据源
有没有办法让它与
应用程序
模块“隔离”工作,并在数据
模块中工作?我认为实际上不可能尝试此功能。谢谢,我会查看第二个链接,看看我是否能做些什么。如果没有,我就让它保持现在的样子。谢谢在回答之前,你能告诉我这是一个什么样的项目吗?因为在一个项目到另一个项目的基础上,我们有一个不同的结构来存储数据,以便轻松读取。@Shudy你找到解决方案了吗?我认为实际上不可能尝试这样做。谢谢,我将查看第二个链接,看看我是否能做些什么。如果没有,我就让它保持现在的样子。谢谢在回答之前,你能告诉我这是一个什么样的项目吗?因为在一个项目到另一个项目的基础上,我们有不同的结构来存储数据,以便轻松读取。@Shudy,你找到解决方案了吗?