Codenameone UrlImage中的空指针异常
我在一个使用URLImage的屏幕上有两个图像。在一些设备中,例如华为(棉花糖),它会给出零点异常 发生内部应用程序错误: java.lang.nullPointerException:尝试调用虚拟方法“int” 空对象引用上的android.graphics.Bitmap.getWidth() 然而,这个问题从未在模拟器或三星设备中出现过Codenameone UrlImage中的空指针异常,codenameone,Codenameone,我在一个使用URLImage的屏幕上有两个图像。在一些设备中,例如华为(棉花糖),它会给出零点异常 发生内部应用程序错误: java.lang.nullPointerException:尝试调用虚拟方法“int” 空对象引用上的android.graphics.Bitmap.getWidth() 然而,这个问题从未在模拟器或三星设备中出现过 EncodedImage placeholder = (EncodedImage) res.getImage("home_car.png"); placeh
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错误代码时,会发生这种情况。因此,如果您的服务器返回损坏的图像,例如带有