为什么decodeByteArray给我一个空指针错误

时间:2011-03-09 02:41:20

标签: java android

我正在尝试通过包

将图像中的字节数组传递给活动

使用

创建字节数组
            Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
            ByteArrayOutputStream picArray = new ByteArrayOutputStream(); 
            thumbnail.compress(CompressFormat.PNG, 0, picArray); 
            byte[] picData = picArray.toByteArray();

当我尝试将字节数组解码为位图时,我得到一个空指针异常,哪个FC(在物理手机上运行)

我一直在逐行,这是创造错误的唯一方法

            //grab byte array taken
            Intent sent = this.getIntent();
            Bundle arrayForPic = sent.getExtras();
            byte[] picArray = arrayForPic.getByteArray("pictureArray");

            //convert array into bitmap
            //null error happens HERE
            Bitmap thumbnail = BitmapFactory.
               decodeByteArray(picArray, 0, picArray.length);

错误是

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test/com.test.HandlePic}: java.lang.NullPointerException


Caused by: java.lang.NullPointerException
at com.test.HandlePic.onCreate(HandlePic.java:43)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1703)

第43行是decodeByteArray的位置

1 个答案:

答案 0 :(得分:1)

我猜想picArray是空的。大概是因为捆绑中没有pictureArray值。您应该能够使用调试器逐步查看代码,以确切了解出现了什么问题。

相关问题