解析Base64字符串到image NULL

时间:2017-01-09 20:03:54

标签: android nullpointerexception base64

我从Web服务调用获取base64字符串。然后我尝试将该字符串放入listview中的图像视图中。我在行byte []上得到一个零点异常。我不确定我做错了什么或者为什么我在调试时得到null我能够获得数组并逐步完成。

String peepPicData = peepWithPic.getThumbnailData();
                byte[] imageAsBytes = Base64.decode(peepPicData.getBytes(), Base64.DEFAULT); //the null is here
                Bitmap parsedImage = BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length);
                holder.mPeepPic.setImageBitmap(parsedImage);

我不确定它为什么在转换为数组并逐步执行时为null。我在浏览器的转换器中尝试过这个Base64字符串,它可以工作。

我正在使用peepWithPic.getThumbnailData()获取Base64字符串;但是在bytep []中得到null。

如果我接受base64字符串并将其插入字符串peepPicData =" theactualBase64string"我一遍又一遍地拍照。为什么这不能从getter中获取它,因为它已经在调用之前设置了?

1 个答案:

答案 0 :(得分:0)

我不得不添加一个空检查,因为一些peepWithPic没有实际上有图片。这是更新的代码

if (peepWithPic.getThumbnailData() != null) {
                String peepPicData = peepWithPic.getThumbnailData();
                byte[] imageAsBytes = Base64.decode(peepPicData.getBytes(), Base64.DEFAULT);
                Bitmap parsedImage = BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length);
                holder.mPeepPic.setImageBitmap(parsedImage);
            }