codenameone - 代号一:显示来自 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);
推荐阅读
- google-cloud-firestore - 用户喜欢 Firestore 中的结构以避免高读取次数
- c# - “字符串 []”不包含“包含”的定义
- npm - npm 6.3.0 --only=prod install devDependencies 也
- c# - 需要来自 Json 字符串的所有唯一键名
- vba - 用户窗体自动调整请求宽度/高度的 80% 并更改纵横比
- javascript - 将文本发送到特定频道的命令
- jenkins - 声明式 Jenkins 流水线中的检查点
- python - Python 格式化我的 json 输出
- javascript - 通过 Javascript 中的中断将数组拆分为块
- reactjs - 如何使用流类型将枚举类型重构为泛型?