管理pubnub映像订阅



我正在使用pubnub实现一个具有图像发送功能的聊天应用程序,我可以发布图像。但在订阅时,我收到的是图片链接,而不是实际的图片。我得到的消息是一个JSON对象"{"nameValuePairs":{"imageurl":"example.com"}}

"。如何使用它将其放入Imageview。这是我的代码(发布处理程序("var image=JSONObject((作为JSONObjectimage.put("imageurl","example.com"(

"订阅处理程序中收到的消息是json对象,而不是图像。为什么pubnub没有从外部服务器捕获我的图像。

因此PubNub不会为您下载和移动图像,PubSub消息总线会将URL从您的发布移动到频道的订户。

正因为如此,我建议实现一种代表您的图像的"类型"消息。例如:

{
"content": “Hi Team, anyone fancy lunch today?”,
"type": “Text”,
}

图像示例:

{
"type":"image",
"thumbnailURL":"https://cdn.image.server/thumbnail",
"fullURL":"https://cdn.image.server/full"
}

正如您所知,传入的消息是一种"类型"的图像,然后您可以将URL放置在工厂中并以这种方式加载:

URL url = new URL(pubnubMessage.fullURL);
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
imageView.setImageBitmap(bmp);

希望这能有所帮助!

使用Glide库可能是最简单的。这将为您管理图像的下载和缩放。按照设置说明,然后简单地在收到图像url后使用如下示例代码:

Glide
.with(activity or fragment, etc.)
.load(urlFromResponse)
.centerCrop() // If you want to crop it
.placeholder(R.drawable.loading_spinner) // also optional
.into(myImageView);

最新更新