首页 > 解决方案 > 如何将位图图像保存到 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();
        }

标签: javaandroid

解决方案


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

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

推荐阅读