0
J'essaie de récupérer une image distante pour l'utiliser dans une étiquette. Mon code est le suivant:Obtention d'une image distante à utiliser avec Codename One
Dimension dimension = new Dimension(100, 100);
ImageDownloadService.createImageToStorage("http://www.example.com/logo-icono.ico",label, "cacheID-unique-identifier",dimension);
Cependant, quand je lance le projet, j'ai eu cette erreur:
java.lang.IllegalArgumentException: create image failed for the given image data of length: 3906
at com.codename1.ui.Image.createImage(Image.java:627) at com.codename1.ui.Image.createImage(Image.java:627)
at com.codename1.ui.EncodedImage.getInternal(EncodedImage.java:270)
at com.codename1.ui.EncodedImage.getInternalImpl(EncodedImage.java:245)
at com.codename1.ui.EncodedImage.drawImage(EncodedImage.java:433)
at com.codename1.ui.Graphics.drawImage(Graphics.java:505)
at com.codename1.ui.plaf.DefaultLookAndFeel.drawComponent(DefaultLookAndFeel.java:1079)
at com.codename1.ui.plaf.DefaultLookAndFeel.drawLabel(DefaultLookAndFeel.java:380)
at com.codename1.ui.Label.paint(Label.java:335)
at com.codename1.ui.Component.internalPaintImpl(Component.java:1029)
at com.codename1.ui.Component.paintInternalImpl(Component.java:1003)
at com.codename1.ui.Component.paintInternal(Component.java:978)
at com.codename1.ui.Container.paint(Container.java:903)
at com.codename1.ui.Component.internalPaintImpl(Component.java:1023)
at com.codename1.ui.Component.paintInternalImpl(Component.java:1003)
at com.codename1.ui.Component.paintInternal(Component.java:978)
at com.codename1.ui.Container.paint(Container.java:903)
at com.codename1.ui.Form.paint(Form.java:2716)
at com.codename1.ui.Component.internalPaintImpl(Component.java:1023)
at com.codename1.ui.Component.paintInternalImpl(Component.java:1003)
at com.codename1.ui.Component.paintInternal(Component.java:978)
at com.codename1.ui.Component.paintInternal(Component.java:946)
at com.codename1.ui.Component.paintComponent(Component.java:1223)
at com.codename1.ui.Component.paintComponent(Component.java:1175)
at com.codename1.impl.CodenameOneImplementation.paintDirty(CodenameOneImplementation.java:382)
at com.codename1.impl.javase.JavaSEPort.paintDirty(JavaSEPort.java:963)
at com.codename1.ui.Display.edtLoopImpl(Display.java:993)
at com.codename1.ui.Display.mainEDTLoop(Display.java:920)
at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
at com.codename1.ui.Image.createImage(Image.java:627)
Qu'est-ce que je fais mal?
J'ai changé l'image .ico pour un .png valide, cependant, l'erreur persiste: java.lang.IllegalArgumentException: l'image créée a échoué pour les données d'image données de longueur: 3906. Il semble qu'il y ait une restriction TAILLE. Est-ce corret? – Goose
Si vous avez utilisé la même clé de cache, l'ancienne image vous sera restituée. –
Oui. En changeant la clé de cache cela a fonctionné. Je ne savais pas que dans l'environnement de développement, des données comme cette clé étaient conservées. ¿Comment puis-je nettoyer par programme le stockage? – Goose