首页 > 解决方案 > 在 java 库中使用位图

问题描述

我正在按照 bob 叔叔的 Clean Architecture 开发一个 android 应用程序。干净架构的原则之一是域层​​使用“纯 java”,不使用 android 类来增加可测试性。我的问题是我的一个用例应该接收 Bitmap 作为输入,而 Bitmap 仅存在于我无法使用的 android 包下。我的数据层应该从域层接收位图。是否有一个对象可以在 java 和 android 包之间架起桥梁?

标签: javaandroidclean-architecture

解决方案


总体而言,使用位图可以认为是例外情况,在域层中使用它是可以的。

但是,如果您觉得不合适,那么这种情况有 3 种可能的解决方案:

1)如果可能的话,您可以在域层中使用位图文件路径或资源ID,然后在视图、数据层中检索所需的位图。

2)您可以创建包含位图作为字段的包装类,并在域层中使用它。

3) 将其转换为 ByteBuffer/ByteArray 并在域层中使用。


推荐阅读