Android se guardará en un mapa de bits locales

Visión general

La imagen es un programa puede hacer que se vuelven más bella, por lo que vamos a utilizar las imágenes en nuestro software. Sin embargo, para el funcionamiento de la situación es más compleja. Hoy en día, se aprende sobre el caso para salvar nuestra imagen en nuestro local.


entorno de desarrollo

  • Estudio Android 3.6
  • Android 11
  • Mac OS 10:15
  • Simulador de Google API R Pixel3

A continuación, aprender a realizar nuestra función

De acuerdo con la gestión internacional, lo primero que mira en nuestro código:

/**
 * Bitmap 帮助类之一
 */
class BitmapUtils {

    /**
     * Save Bitmap
     *
     * @param name file name
     * @param bm   picture to save
     */
    static void saveBitmap(String name, Bitmap bm, Context mContext) {
        Log.d("Save Bitmap", "Ready to save picture");
        //指定我们想要存储文件的地址
        String TargetPath = mContext.getFilesDir() + "/images/";
        Log.d("Save Bitmap", "Save Path=" + TargetPath);
        //判断指定文件夹的路径是否存在
        if (!FileUtils.fileIsExist(TargetPath)) {
            Log.d("Save Bitmap", "TargetPath isn't exist");
        } else {
            //如果指定文件夹创建成功,那么我们则需要进行图片存储操作
            File saveFile = new File(TargetPath, name);

            try {
                FileOutputStream saveImgOut = new FileOutputStream(saveFile);
                // compress - 压缩的意思
                bm.compress(Bitmap.CompressFormat.JPEG, 80, saveImgOut);
                //存储完成后需要清除相关的进程
                saveImgOut.flush();
                saveImgOut.close();
                Log.d("Save Bitmap", "The picture is save to your phone!");
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }

}

Escribimos métodos para completar, relativamente simple.
El primer ministro, hay que sacar a la raíz de nuestro software. Podemos utilizar Context.getFilesDir()para llegar a la raíz del software, y tengo que guardar el archivo en nuestras imágenes a continuación.
Por lo que obtener la ruta de almacenamiento a continuación, lo que tenemos que determinar no es la primera vez, o existe el directorio, a continuación, nos fijamos en la forma de juzgar nuestro archivo hay un método. Mirar el código fuente:

class FileUtils {
    /**
     * 判断指定目录的文件夹是否存在,如果不存在则需要创建新的文件夹
     * @param fileName 指定目录
     * @return 返回创建结果 TRUE or FALSE
     */
    static  boolean fileIsExist(String fileName)
    {
        //传入指定的路径,然后判断路径是否存在
        File file=new File(fileName);
        if (file.exists())
            return  true;
        else{
            //file.mkdirs() 创建文件夹的意思
            return file.mkdirs();
        }
    }
}

Pasamos en la ruta de almacenamiento método especificado, y luego determinar si existe, si hay que necesitamos para crear nuestro directorio especificado y, a continuación, devolver los resultados que creamos. Así que nuestras operaciones en el directorio básicamente completado.

Para completar la operación del directorio, nos fijamos en cómo llevar a cabo nuestro proceso de almacenamiento, tenemos que crear una FileOutputStreamescritura a una imagen, y necesitamos la imagen correspondiente a la operación de compresión.
Y tenemos que borrar el último de nuestros métodos relacionados, por lo que nuestras operaciones de mapa de bits básicamente completado. Relativamente simple.

Supongo que te gusta

Origin www.cnblogs.com/cao-1/p/12508456.html
Recomendado
Clasificación