最近,我看到可以在2018年11月的官方文档中将资产包含在Android库中,此处的官方文档为: https://developer.android.com/studio/projects/android-library
但是它只是简单地描述了“资产”是一个可选库,可以包含在Android库中。它没有介绍如何访问它们。
现在我有一个包含多个Android库的项目。每个库都包含一个级别或包含在一个抽象级别中。为了实现良好的隔离,理想情况下,每个库都应该能够使用其自己的Android库中包含的代码和资产。
所以,我的问题是,由于现在我们可以在Android库中包含资产(在我的情况下为json文件),有没有办法直接从Android库本身的代码访问这些资产,而无需使用应用程序库中的代码?
预先感谢 P.d .:如果有人感兴趣,这是我的项目的源代码: https://github.com/jiahaoliuliu/chutoro/tree/feature/companiesList
答案 0 :(得分:2)
好像您想使用AssetManager。
导入后
import android.content.res.AssetManager;
并初始化
AssetManager assetManager = getAssets();
您可以通过使用
加载资产InputStream input = assetManager.open("PersistentDestinations.json");
请注意,您必须转换InputStream才能将其传递给例如JSONObject。 (例如,参见here)