Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codenameone 代码名一:显示来自URL的(秘密)图像,无需存储和缓存_Codenameone - Fatal编程技术网

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)