• Android 插入图片到媒体库


      今天介绍一下在Android中怎么插入图片到媒体库,下面看代码:

     1 final String titleName = Function.md5(imageUri.toLowerCase())
     2                         + ".png";
     3                 OutputStream fOut = null;
     4                 try {
     5                     File file = new File(MainApp.cacheDir, titleName);
     6                     if (!file.exists()) {
     7                         fOut = new FileOutputStream(file);
     8 
     9                         loadedImage.compress(Bitmap.CompressFormat.JPEG, 100,
    10                                 fOut);
    11                         fOut.flush();
    12                         fOut.close();
    13                         MediaStore.Images.Media.insertImage(
    14                                 getContentResolver(), file.getAbsolutePath(),
    15                                 file.getName(), file.getName());
    16                         Toast.makeText(GalleryActivity.this, "保存成功!",
    17                                 Toast.LENGTH_SHORT).show();
    18                     } else {
    19                         Toast.makeText(GalleryActivity.this, "已经保存!",
    20                                 Toast.LENGTH_SHORT).show();
    21                     }
    22                 } catch (FileNotFoundException e) {
    23                     e.printStackTrace();
    24                 } catch (IOException e) {
    25                     e.printStackTrace();
    26                 }

      上面代码的功能是创建一个文件夹保存图片并且把图片插入到媒体库里。在看一种方式:

     1 final String titleName = Function.md5(imageUri.toLowerCase())
     2                         + ".png";
     3                 ContentValues values = new ContentValues();
     4                 values.put(Media.DISPLAY_NAME, titleName);
     5                 values.put(Media.DESCRIPTION, titleName);
     6                 values.put(Media.MIME_TYPE, "image/jpeg");
     7                 Uri uri = getContentResolver().insert(
     8                         Media.EXTERNAL_CONTENT_URI, values);
     9 
    10                 OutputStream fOut = null;
    11                 try {
    12                     fOut = getContentResolver().openOutputStream(uri);
    13                     loadedImage.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
    14                     fOut.flush();
    15                     fOut.close();
    16                     Toast.makeText(GalleryActivity.this, "保存成功!",
    17                             Toast.LENGTH_SHORT).show();
    18                 } catch (FileNotFoundException e) {
    19                     e.printStackTrace();
    20                 } catch (IOException e) {
    21                     e.printStackTrace();
    22                 }

      这种方式就是直接把图片保存到媒体库里面,但是这种方式会重复保存图片。

  • 相关阅读:
    组合数据类型练习
    词法分析
    ORACLE聚合函数细节
    Centos7 最小系统安装Redis
    JQuery版评分控件
    Javascript & JQuery读书笔记
    HTML5&CSS3读书笔记
    Javascript版显示相应图片的详细信息
    MVC2,MVC3,MVC4和MVC5的不同
    Microsoft Office Excel cannot access the file
  • 原文地址:https://www.cnblogs.com/phj981805903/p/3291430.html
Copyright © 2020-2023  润新知