一、保存图片到本地

public static void saveToSystemGallery(Context context, Bitmap bmp) {// 首先保存图片File appDir = new File(Environment.getExternalStorageDirectory(), "vgmap");if (!appDir.exists()) {appDir.mkdir();}String fileName = System.currentTimeMillis() + ".jpg";File file = new File(appDir, fileName);try {FileOutputStream fos = new FileOutputStream(file);bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos);fos.flush();fos.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}// 其次把文件插入到系统图库try {MediaStore.Images.Media.insertImage(context.getContentResolver(),file.getAbsolutePath(), fileName, null);} catch (FileNotFoundException e) {e.printStackTrace();}// 最后通知图库更新context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse(file.getAbsolutePath())));}

二、 保存网络图片到本地,同时插入到系统相册

    /*** 下载 分享海报图片 并保存本地*/private void mDownloadPosterPic(String url) {String fileDir = Environment.getExternalStorageDirectory() + "/temp";String fileName = System.currentTimeMillis() + ".jpg";File file = new File(fileDir);OkHttpUtils.get(url).tag(this).execute(new DownloadFileCallBack(fileDir, fileName));//保存到sd卡}
   saveToSystemGallery(mContext, file, fileNameNew);  //把文件插入到系统图库
    /*** 保存图片到本地,其次把文件插入到系统图库** @param context* @param file* @param fileName*/public static void saveToSystemGallery(Context context, File file, String fileName) {try {MediaStore.Images.Media.insertImage(context.getContentResolver(),file.getAbsolutePath(), fileName, null);} catch (FileNotFoundException e) {e.printStackTrace();}// 最后通知图库更新context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse(file.getAbsolutePath())));}

三、网络URL图片地址转Bitmap 

以下方法需要一个线程去访问

    public Bitmap getBitmap(String imgUrl) {InputStream inputStream = null;ByteArrayOutputStream outputStream = null;URL url = null;try {url = new URL(imgUrl);HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();httpURLConnection.setRequestMethod("GET");httpURLConnection.setReadTimeout(2000);httpURLConnection.connect();if (httpURLConnection.getResponseCode() == 200) {//网络连接成功inputStream = httpURLConnection.getInputStream();outputStream = new ByteArrayOutputStream();byte buffer[] = new byte[1024 * 8];int len = -1;while ((len = inputStream.read(buffer)) != -1) {outputStream.write(buffer, 0, len);}byte[] bu = outputStream.toByteArray();Bitmap bitmap = BitmapFactory.decodeByteArray(bu, 0, bu.length);return bitmap;} else {Log.d(TAG, "网络连接失败----" + httpURLConnection.getResponseCode());}} catch (Exception e) {// TODO: handle exception} finally {if (inputStream != null) {try {inputStream.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if (outputStream != null) {try {outputStream.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}return null;}

更多相关问题可参考:Android网络URL图片地址转Bitmap并且保存到本地

Android 网络图片下载保存本地及插入系统相册相关推荐

  1. Android 手机下载图片保存本地后,系统相册无法查看

    下载图片到本地,由于没有通知系统相册,更新数据,导致系统相册无法找到这张图片. 处理方法一:已知图片保存地址,通过广播通知系统相册, 更新数据. public static void sendBroa ...

  2. Android 通过开源框架实现加载网络图片并下载到SD卡通知系统相册显示,(并实现分享图片功能)

    首先看下本 demo实现的功能 1:实现网络图片的加载显示 2:点击图片底部弹出popupwindow 3:点击分享 实现单个图片分享到:微信,朋友圈,QQ,QQ控件(调用系统) 4:点击下载 实现图 ...

  3. android 录制图片、视频插入系统相册视频相册列表中,视频mediaPlayer静音和mediaPlayer恢复静音,SurfaceView+mediaplayer视频播放,自定义任意view显示

    video_duration = mediaPlayer.getDuration() / 1000 video_duration需要在prepare()监听中进行初始化 通知系统,将图片.视频更新到系 ...

  4. Android 网页h5 Input选择相机和系统相册

    需求: 网页h5的input选择相机和系统相册,并且返回压缩的图片到h5. 代码: 1.WebView代码 package com.zql.sdk;import android.app.Activit ...

  5. 如何将下载的图片扫描到系统相册?附带:微信转发多图

    前言 之前项目中有个需求就是可以转发多图到微信朋友圈,自微信6.7.3发布后,微信不再支持多图分享.SO  经过漫长的岁月(用户的测试)出现了一下最终的解决方法. 思路:由于微信发送朋友圈时,能选择到 ...

  6. android图片下载到本地

    1.联网权限 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />&l ...

  7. 如何不开会员,把易企秀图片下载保存本地

    易企秀的素材很多,为了防止被盗用,他们网站平台的素材和元素基本都是防盗链的或者是加密的形式,这样让一些想要图片的会员十分尴尬. 下面教你怎么保存易企秀的图片?不需要VIP奥! 1.先发布易企秀模板,然 ...

  8. android 查看文件夹大小 删除文件,Android Base64编码保存本地。查询文件夹大小以及删除...

    代码如下 package com.example.file import android.content.Context import android.content.Intent import an ...

  9. Android中保存图片到本地并更新到相册及图片出现在相册时间不正确解决方案

    刚开始保存图片到本地更新相册后时间显示1970年月1日,网上看了好多方案都不用 详细代码: /** * 将URL转化成bitmap形式 * * @param url * @return bitmap ...

最新文章

  1. HTML5学习笔记简明版(10):过时的元素和属性
  2. Web常见约定规范(精选)
  3. quartz 数据库配置
  4. 数据挖掘与数据化运营实战. 3.8 用户(买家、卖家)分层模型
  5. hibernate:无法级联插入
  6. promise的三种状态_一.Promise中核心逻辑的实现
  7. sql取日期的年月_机油检测美版银美孚5W30,生产日期20年1月
  8. LoadRunner截取字符串操作
  9. IE6layout元素自动包含浮动元素
  10. 如何在计算机管理路由器,怎么查看路由器的管理IP地址?
  11. 注意!这13件事会毁掉你的信用,千万别做!
  12. 如何实现 1 小时内完成千万级数据运算
  13. java 实现秒抢_Java实现抢红包算法,附完整代码(公平版和手速版)
  14. 紫色店铺商家信息后台管理模板
  15. 如何查询计算机com口使用
  16. 30岁人生进度条_你的人生进度条,只剩下最后的1%
  17. BUUCTF [GYCTF2020] Blacklist
  18. 微软MSDN原版系统下载
  19. 智能巡检机器人在国家电网、变电站、电流站领域的运用
  20. Arch Installation guide

热门文章

  1. Matlab放大图片并补色
  2. 足球运动员在 2022 年卡塔尔世界杯模拟条件下重复最大努力的反应:整体方法
  3. 《Spring Boot 实战派》--10.集成安全框架,实现安全 认证和授权
  4. PTA 7-3 插入排序还是归并排序 (25分)
  5. LED发光颜色及波长
  6. 马云来重庆了,你还在观望IT行业吗?
  7. python字符串中既有单引号又有双引号_Python如何实现在字符串里嵌入双引号或者单引号...
  8. 2023年一起来认识一下StampedLock吧
  9. 【BZOJ3232】圈地游戏
  10. [摘录]高效人士七习惯—知己知彼原则