如何将位图图像保存到Android内部存储?

时间:2018-06-09 22:59:35

标签: java android

我试图在从相对布局中创建位图后,将位图保存在内部存储上。但是,图像在布局上变得更短,并且没有文件被保存。

Layout_to_Image layout_to_image;
        RelativeLayout relativeLayout;
        Bitmap bitmap;
        relativeLayout=(RelativeLayout)findViewById(R.id.activity_main);
        layout_to_image=new Layout_to_Image(MainActivity.this,relativeLayout);
        bitmap=layout_to_image.convert_layout();
        try {
            Date now = new Date();
            String nomeImagem = Environment.getExternalStorageState().toString()+"/"+now+".jpg";
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
            byte[] bitmapdata = stream.toByteArray();
            File img = new File(nomeImagem, "croqui.jpg");
            FileOutputStream outputStream = openFileOutput(nomeImagem, MODE_WORLD_READABLE);
            outputStream.write(bitmapdata, 0, bitmapdata.length);
            outputStream.flush();
            outputStream.close();
        } catch (Throwable e){
            e.printStackTrace();
        }

1 个答案:

答案 0 :(得分:0)

您将图像保存在外部存储设备中而不是内部存储设备中, 尝试在manifest.xml文件中添加此权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />