Codenameone UrlImage中的空指针异常

Codenameone UrlImage中的空指针异常,codenameone,Codenameone,我在一个使用URLImage的屏幕上有两个图像。在一些设备中,例如华为(棉花糖),它会给出零点异常 发生内部应用程序错误: java.lang.nullPointerException:尝试调用虚拟方法“int” 空对象引用上的android.graphics.Bitmap.getWidth() 然而,这个问题从未在模拟器或三星设备中出现过 EncodedImage placeholder = (EncodedImage) res.getImage("home_car.png"); placeh

我在一个使用URLImage的屏幕上有两个图像。在一些设备中,例如华为(棉花糖),它会给出零点异常

发生内部应用程序错误: java.lang.nullPointerException:尝试调用虚拟方法“int” 空对象引用上的android.graphics.Bitmap.getWidth()

然而,这个问题从未在模拟器或三星设备中出现过

EncodedImage placeholder = (EncodedImage) res.getImage("home_car.png");
placeholder = (EncodedImage) placeholder.scaledEncoded((Display.getInstance().getDisplayWidth() / 3), -1);

EncodedImage logoPlaceholder = (EncodedImage) res.getImage("carLogo.jpg");

String carImagePreferences = Preferences.get(AllUrl.carImage, "");
String modelLogoPreferences = Preferences.get(AllUrl.modelLogo, "");

Label vehicleNameLabel = new Label();
if (!"".equals(modelLogoPreferences)) {
    vehicleNameLabel.setIcon(URLImage.createToStorage(logoPlaceholder, modelLogoPreferences, AllUrl.baseUrlCarModel
            + Preferences.get(AllUrl.modelLogo, null), URLImage.RESIZE_SCALE));
} else {
    vehicleNameLabel.setIcon(logoPlaceholder);
}

Label homeCarLabel = new Label();
if (!"".equals(carImagePreferences)) {
    homeCarLabel.setIcon(URLImage.createToStorage(placeholder, carImagePreferences, AllUrl.baseUrlCarModel
            + Preferences.get(AllUrl.carImage, null), URLImage.RESIZE_SCALE));
} else {
    homeCarLabel.setIcon(placeholder);
}

错误日志:

03-28 22:34:05.429 22121-22135/com.bbeck.myProject D/skia:---解码器->解码返回false 03-28 22:34:05.429 22121-22135/com.bbeck.myProject D/Nehhpa:[EDT]0:2:25856-异常:java.lang.IllegalArgumentException-为长度为211148的给定图像数据创建图像失败 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:java.lang.IllegalArgumentException:为长度为211148的给定图像数据创建图像失败 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.Image.createImage(Image.java:655) 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.EncodedImage.getInternal(EncodedImage.java:366) 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.EncodedImage.getInternalImpl(EncodedImage.java:341) 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.EncodedImage.getWidth(EncodedImage.java:512) 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.URLImage$2.adaptImage(URLImage.java:103) 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.URLImage$DownloadCompleted.actionPerformed(URLImage.java:239) 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.URLImage$4.onsuess(URLImage.java:302) 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.URLImage$4.onsuess(URLImage.java:298) 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.util.CallbackDispatcher.run(CallbackDispatcher.java:53) 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.Display.processSerialCalls(Display.java:1129) 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.Display.edtlopimpl(Display.java:1073) 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.Display.mainEDTLoop(Display.java:961) 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.runnablerrapper.run(runnablerrapper.java:120) 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.impl.CodenameOneThread$1.run(CodenameOneThread.java:60) 03-28 22:34:05.429 22121-22135/com.bbeck.myProject W/System.err:at java.lang.Thread.run(Thread.java:818) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject D/skia:---解码器->解码返回false 03-28 22:34:05.459 22121-22135/com.bbeck.myProject D/Nehhpa:[EDT]0:2:25887-异常:java.lang.NullPointerException-尝试在空对象引用上调用虚拟方法“int-android.graphics.Bitmap.getWidth() 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int android.graphics.Bitmap.getWidth()” 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at-android.graphics.Bitmap.createScaledBitmap(Bitmap.java:748) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.impl.android.AndroidImplementation.scale(AndroidImplementation.java:1735) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.Image.scale(Image.java:1008) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.Image.scaledImpl(Image.java:954) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.Image.scaled(Image.java:919) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.impl.android.android实现$33.save(android实现.java:6617) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.EncodedImage.scaledEncoded(EncodedImage.java:627) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.URLImage$2.adaptImage(URLImage.java:104) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.URLImage$downloaddcompleted.actionPerformed(URLImage.java:239) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.URLImage$4.onsuess(URLImage.java:302) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.URLImage$4.onsuess(URLImage.java:298) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.util.CallbackDispatcher.run(CallbackDispatcher.java:53) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.Display.processSerialCalls(Display.java:1129) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.Display.edtlopimpl(Display.java:1073) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.Display.mainEDTLoop(Display.java:961) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.ui.runnablerrapper.run(runnablerrapper.java:120) 03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at com.codename1.impl.CodenameOneThread$1.run(CodenameOneThread.java:60)
03-28 22:34:05.459 22121-22135/com.bbeck.myProject W/System.err:at java.lang.Thread.run(Thread.java:818)

当服务器返回图像的无效数据但没有返回正确的HTTP错误代码时,会发生这种情况。因此,如果您的服务器返回损坏的图像,例如带有