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                 }

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

  • 相关阅读:
    MySQL sys Schema 简单介绍-2
    dubbo服务+Spring事务+AOP动态数据源切换 出错
    sql 查询优化
    spring事务-说说Propagation及其实现原理
    Redis 分布式锁
    三、操作符
    二、一切皆是对象
    一、对象导论
    SpringMVC工作原理
    数据库性能优化策略
  • 原文地址:https://www.cnblogs.com/phj981805903/p/3291430.html
Copyright © 2011-2022 走看看