Codenameone URLImage获取方法不工作
我浏览了文档: 默认情况下,除非调用fetch()方法,否则会按照GUI的要求延迟获取图像,在这种情况下会立即执行IO代码 调用fetch()后,存储文件似乎没有得到刷新。这是我做的测试 1) 我第一次使用以下图像创建了一个URLImage:“ 2) 我运行应用程序。图像显示得很好 3) 我使用一个新的URL图像“”重新运行应用程序,但尽管正在调用fetch(),我仍然可以看到以前的图像Codenameone URLImage获取方法不工作,codenameone,Codenameone,我浏览了文档: 默认情况下,除非调用fetch()方法,否则会按照GUI的要求延迟获取图像,在这种情况下会立即执行IO代码 调用fetch()后,存储文件似乎没有得到刷新。这是我做的测试 1) 我第一次使用以下图像创建了一个URLImage:“ 2) 我运行应用程序。图像显示得很好 3) 我使用一个新的URL图像“”重新运行应用程序,但尽管正在调用fetch(),我仍然可以看到以前的图像 Form hi = new Form("Hi World"); EncodedImage
Form hi = new Form("Hi World");
EncodedImage placeholder = EncodedImage.createFromImage(Image.createImage(hi.getWidth(), hi.getWidth() / 5, 0xffff0000), true);
URLImage background = URLImage.createToStorage(placeholder, "400px-AGameOfThrones.jpg",
"https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png");
background.fetch();
Label label = new Label();
label.setIcon(background);
hi.addComponent(label);
hi.show();
第二轮:
Form hi = new Form("Hi World");
EncodedImage placeholder = EncodedImage.createFromImage(Image.createImage(hi.getWidth(), hi.getWidth() / 5, 0xffff0000), true);
URLImage background = URLImage.createToStorage(placeholder, "400px-AGameOfThrones.jpg",
"http://awoiaf.westeros.org/images/thumb/9/93/AGameOfThrones.jpg/400px-AGameOfThrones.jpg");
background.fetch();
Label label = new Label();
label.setIcon(background);
hi.addComponent(label);
hi.show();
文档可能需要澄清,立即并不意味着同步,因此fetch方法只会将映像添加到下载队列,但在映像实际存在之前不会阻止
如果您想要这种行为,URL图像可能不是最好的解决方案。您可以使用
Util.downloadToStorage()
或ConnectionRequest
中的Image
下载方法以及addToQueueAndWait
谢谢。我想了解在后台发生了什么,即基于什么标准更新/下载图像。我随后多次运行该应用程序,但图像仍无法刷新。它是否基于特定的上次下载时间戳?URLImage
从不下载已下载的图像。它不检查更新。如果要强制更新,则需要删除本地存储文件。