将图像从非 ui class 发送到 activity

Send image from non-ui class to activity

我需要将 Bitmap 从非 ui class 发送到 activity 以便我可以使用它或直接从非 ui 更新 ui class。我怎样才能做到这一点。 localbroadcastreceiver 是这里的唯一选项还是有任何简单的方法可以实现我的目标。 编辑: 我正在从套接字连接接收该图像,并想用该图像更新 ui。

您不必发送实际的 Bitmap。如果您正在使用 Intents 和进程间通信,则发送图像的路径可能很适合您,但如果它在然后传递引用的相同过程与处理任何 pojo 的方式相同。

如果是网络图片。根据图像的大小,您可以将其缓存在磁盘或内存中。

PS;你可能想让你的问题不那么模棱两可

一种方法是制作该方法 static 然后您可以在您的非 activity class 中使用它:

public class MyBitmap{
 public static Bitmap getMyBitmap(){

         Bitmap bitmap = Get your bitmap from the socket connection
    return bitmap;
    }
}

然后在你的 activity class:

imageView.setImageBitmap(MyBitmap.getMyBitmap());

是的,你可以用localbroadcastreceiver轻松实现。及其良好实践,而不是应用事件总线等等。 可能你正在使用 XMPP 之类的东西。 所以在 localbroadcastreceiver 中,当你获取图像时,只需从那里获取完整的图像路径并将其传递给 activity 并从 activity.

中的路径加载它