Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 解码位图图像时出现空指针异常_Java_Android - Fatal编程技术网

Java 解码位图图像时出现空指针异常

Java 解码位图图像时出现空指针异常,java,android,Java,Android,我正在尝试执行以下任务: 拍照 将其存储在sd卡中,并以字符串形式保存路径 代码: 根据代码,我正在拍摄一张图像,然后制作一张拇指图像以在图像视图中显示它,并存储这个拇指图像。但错误发生在 Bitmap imageBitmap = BitmapFactory.decodeStream(is2 ,null, options); 它返回null。有人能解释一下发生了什么吗?您只能使用输入流一次 当你打电话的时候 BitmapFactory.decodeStream(is2 ,null, opt

我正在尝试执行以下任务:

  • 拍照
  • 将其存储在sd卡中,并以字符串形式保存路径
  • 代码:

    根据代码,我正在拍摄一张图像,然后制作一张拇指图像以在图像视图中显示它,并存储这个拇指图像。但错误发生在

      Bitmap imageBitmap = BitmapFactory.decodeStream(is2 ,null, options);
    

    它返回null。有人能解释一下发生了什么吗?

    您只能使用
    输入流一次

    当你打电话的时候

    BitmapFactory.decodeStream(is2 ,null, options);
    
    它将“消耗”
    is2
    。得到

    Bitmap imageBitmap = BitmapFactory.decodeStream(is2 ,null, options);
    
    工作时,您必须为它创建一个新的
    InputStream
    ,并在那里显式使用它

    试试这个

    ContentResolver cr=mContext.getContentResolver()

    用cr.openInputStream(uri)替换is2

    位图imageBitmap=BitmapFactory.decodeStream(cr.openInputStream(uri),null,选项)


    它对我来说工作正常。

    当程序中使用的变量中没有数据/值时,会发生NullPointerException
    s。因此,请查看您的图像URL或位置是否正确,因为有时JRE无法找到图像或使用图像,并给出
    NullPointerException
    。这件事一直发生在我身上

    Bitmap imageBitmap = BitmapFactory.decodeStream(is2 ,null, options);