最近,我发现有可能将资产包含在Android库中,并在2018年11月的官方文档中进行更新:
https://developer.android.com/studio/projects/android-library
但它只是简单地描述了“assets”是一个可选库,可以包含在android库中。它不包括如何访问它们。
现在我有一个项目有几个android库。每个库都包含一个级别,或者它包含在一个抽象级别上。为了实现良好的隔离,理想情况下每个库都应该能够使用自己的android库所包含的代码和资源。
所以,我的问题是,既然现在我们可以在android库中包含资产,在我的例子中是一个json文件,有没有办法直接从android库本身的代码访问这些资产,而不使用app库中的代码?
提前谢谢
P.D.:如果有人感兴趣,这是我的项目的源代码:
https://github.com/jiahaoliuliu/chutoro/tree/feature/companiesList
最佳答案
看起来您想使用AssetManager。
导入后
import android.content.res.AssetManager;
初始化它
AssetManager assetManager = getAssets();
您可以使用
InputStream input = assetManager.open("PersistentDestinations.json");
请注意,您必须转换inputstream才能将其传递给例如jsonobject。(例如,参见here)
关于android - 从Android库模块中的 Assets 读取json文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53956011/