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                 }

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

  • 相关阅读:
    奋力拼搏,永不言弃
    软件工程最终总结
    人生第一次JAVA编程,电梯(并不算完成版),以及IDEA里使用git
    尝试单元测试
    作业2的回答
    word count程序,以及困扰人的宽字符与字符
    关于未成品的问题:字符类型和其他种种
    随手一写,简单的四则运算练习
    浏览器缓存分析
    Codeforces Round #582 (Div. 3)
  • 原文地址:https://www.cnblogs.com/phj981805903/p/3291430.html
Copyright © 2011-2022 走看看