从Android库模块中的资产读取json文件

时间:2018-12-28 09:07:13

标签: android json

最近,我看到可以在2018年11月的官方文档中将资产包含在Android库中,此处的官方文档为: https://developer.android.com/studio/projects/android-library

但是它只是简单地描述了“资产”是一个可选库,可以包含在Android库中。它没有介绍如何访问它们。

现在我有一个包含多个Android库的项目。每个库都包含一个级别或包含在一个抽象级别中。为了实现良好的隔离,理想情况下,每个库都应该能够使用其自己的Android库中包含的代码和资产。

所以,我的问题是,由于现在我们可以在Android库中包含资产(在我的情况下为json文件),有没有办法直接从Android库本身的代码访问这些资产,而无需使用应用程序库中的代码?

Storage layer

预先感谢 P.d .:如果有人感兴趣,这是我的项目的源代码: https://github.com/jiahaoliuliu/chutoro/tree/feature/companiesList

1 个答案:

答案 0 :(得分:2)

好像您想使用AssetManager

导入后

import android.content.res.AssetManager;

并初始化

AssetManager assetManager = getAssets();

您可以通过使用

加载资产
InputStream input = assetManager.open("PersistentDestinations.json");

请注意,您必须转换InputStream才能将其传递给例如JSONObject。 (例如,参见here