zoukankan      html  css  js  c++  java
  • 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                 }

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

  • 相关阅读:
    cd 好吃的 收藏
    2011 无代码无意义…test 指针 v1
    转 云中漫步的 电子书 from simon
    2011无代码无意义 test_gets_scanf连用 等
    svn—relocate 的原因
    转 CString,string,char*的综合比较
    2011 无代码无意义 test_内存之 变量的边界 (图)
    转 解决"应用程序配置不正确,程序无法启动"
    转 删除已存在的SVN账户信息
    C#中IO类FileInfo和Directory操作实例
  • 原文地址:https://www.cnblogs.com/phj981805903/p/3291430.html
Copyright © 2011-2022 走看看