Codenameone 代码名一:显示来自URL的(秘密)图像,无需存储和缓存
我有以下代码:Codenameone 代码名一:显示来自URL的(秘密)图像,无需存储和缓存,codenameone,Codenameone,我有以下代码: EncodedImage placeholder = EncodedImage.createFromImage(FontImage.createImage(size, size, ColorUtil.GRAY), true); String url = "..."; Date date = new Date(); URLImage qrCode = URLImage.createToStorage(placeholder, date.getTime() + ".png", url
EncodedImage placeholder = EncodedImage.createFromImage(FontImage.createImage(size, size, ColorUtil.GRAY), true);
String url = "...";
Date date = new Date();
URLImage qrCode = URLImage.createToStorage(placeholder, date.getTime() + ".png", url, URLImage.RESIZE_SCALE);
qrCode.fetch();
qrCodeLabel.setIcon(qrCode);
qrCode
映像包含一个不应保存在存储/文件系统上且不应以任何方式缓存的秘密。它应该只向用户显示一次
由于这些要求,我的代码当然不能像我需要的那样工作,因为图像是保存和缓存的。我希望代码的执行在图像下载之前停止,而不是先显示占位符,然后显示图像
因此,我的问题是,我可以使用哪种代码在标签中显示图像,并从url下载图像,并满足以下要求:
- 无缓存李>
- 禁止储存李>
- 执行块,直到映像准备就绪(我有一个加载对话框,当映像准备就绪时,我要处理该对话框)
URLImage
是为缓存而设计的。显然,您可以删除存储文件,但这有点违背了类的核心目的
只需使用以下内容:
ConnectionRequest q = new ConnectionRequest(imageUrl, false) {
public void postResponse() {
EncodedImage qr = EncodedImage.create(getResponseData());
labelForQr.setIcon(qr);
parentForm.revalidate();
}
};
addToQueue(q);
谢谢你,这很有效!为了得到一个完整的同步操作,我使用了
CN.addToQueueAndWait(q)代码>