我实际上正在开发用于邻近营销的Android移动应用程序,我的应用程序应该从营销人员那里接收卡片和优惠券并显示收到的项目。
以下代码来自Google开发人员,它演示了如何使用消息侦听器来解析从BLE信标收到的消息:
mMessageListener = new MessageListener() {
@Override
public void onFound(Message message) {
// Do something with the message here.
Log.i(TAG, "Message found: " + message);
Log.i(TAG, "Message string: " + new String(message.getContent()));
Log.i(TAG, "Message namespaced type: " + message.getNamespace() +
"/" + message.getType());
}
...
};
我的问题是:
在上面的代码中解析的消息是一个字符串所以它很容易处理,我认为,在我的情况下,我必须收到卡和优惠券所以图片..我怎么能处理和解析收到的图片?
答案 0 :(得分:1)
Beacon attachments with the Nearby APIs are limited to 1024 bytes任意数据,并且通常是Base64编码的存储为字符串。理论上你可以采用二进制图像,Base64对它们进行编码,并将它们存储为附件,图像必须是1024字节或更小(不计算Base64编码开销。)底线:附件无法传输大图。
一种典型的替代方法是将您的图像放在公共URL的Web服务器上,并将URL存储在附件中。然后,您可以在上面的UILayoutConstraintAxisHorizontal
方法中编写代码,以启动后台线程以使用HTTP客户端获取映像。返回后,您可以显示图像。您可以看到an example of fetching an image here.
当然,这需要网络访问才能使所有内容正常工作,但是附近的API确实需要这样,否则无法从Google的云端服务器获取附件。