下载类,可以url下载到相册,记得在清单加权限,6.0代码动态加权限判断,下载图片要在子线程中下载,下载完后广播更新相册

在清单文件里面添加权限:

    <!--网络--><uses-permission android:name="android.permission.INTERNET" /><!-- 读写文件 --><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

下载的url的工具类:

/*** Created by YuShuangPing on 2018/12/12.*/
public class DonwloadSaveImg {private static Context context;private static String filePath;private static Bitmap mBitmap;private static String mSaveMessage = "失败";private final static String TAG = "PictureActivity";private static ProgressDialog mSaveDialog = null;public static void donwloadImg(Context contexts, String filePaths) {context = contexts;filePath = filePaths;mSaveDialog = ProgressDialog.show(context, "保存图片", "图片正在保存中,请稍等...", true);new Thread(saveFileRunnable).start();}private static Runnable saveFileRunnable = new Runnable() {@Overridepublic void run() {try {if (!TextUtils.isEmpty(filePath)) { //网络图片// 对资源链接URL url = new URL(filePath);//打开输入流InputStream inputStream = url.openStream();//对网上资源进行下载转换位图图片mBitmap = BitmapFactory.decodeStream(inputStream);inputStream.close();}saveFile(mBitmap);mSaveMessage = "图片保存成功!";} catch (IOException e) {mSaveMessage = "图片保存失败!";e.printStackTrace();} catch (Exception e) {e.printStackTrace();}messageHandler.sendMessage(messageHandler.obtainMessage());}};private static Handler messageHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {mSaveDialog.dismiss();Log.d(TAG, mSaveMessage);Toast.makeText(context, mSaveMessage, Toast.LENGTH_SHORT).show();}};/*** 保存图片* @param bm* @throws IOException*/public static void saveFile(Bitmap bm ) throws IOException {File dirFile = new File(Environment.getExternalStorageDirectory().getPath());if (!dirFile.exists()) {dirFile.mkdir();}String fileName = UUID.randomUUID().toString() + ".jpg";File myCaptureFile = new File(Environment.getExternalStorageDirectory().getPath() + "/DCIM/Camera/" + fileName);BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(myCaptureFile));bm.compress(Bitmap.CompressFormat.JPEG, 80, bos);bos.flush();bos.close();//把图片保存后声明这个广播事件通知系统相册有新图片到来Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);Uri uri = Uri.fromFile(myCaptureFile);intent.setData(uri);context.sendBroadcast(intent);}
}

在Activity中进行调用:

public class DownloadSavePictureActivity extends AppCompatActivity {private Button btn_pic;private Bitmap bitmap;private String Path="http://39.106.39.112:33/public/static/img/qrcode/MAB214ef69e7a5102f86ca8b0136224117.png";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_download_save_picture);btn_pic=findViewById(R.id.btn_pic);btn_pic.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {ImgDonwloads.donwloadImg(DownloadSavePictureActivity.this,Path);//iPath}});}
}

注意:对于Android6.0以上的手机一定要判断相应的权限是否开启

Android下载网络图片并保存到相册相关推荐

  1. uniapp下载图片并保存到相册

    uniapp如何下载图片并保存到相册 我们要实现的功能是点击下载场馆二维码到手机相册 下面是实现的js代码 settingQrImgBase64(id) {uni.showLoading({title ...

  2. Android下载网络图片到本地

    Android下载网络图片到本地sdcard中 1.方法调用: imageDownload(https://www.baidu.com/img/bdlogo.png); 2.图片下载: private ...

  3. Android 下载网络图片保存到相册

    下载类,可以url下载到相册,记得在清单加权限,6.0代码动态加权限判断,下载图片要在子线程中下载,下载完后广播更新相册 在清单文件里面添加权限: <!--网络--><uses-pe ...

  4. android自定义相册图片和视频教程,android把图片 视频 保存到相册

    //android把图片文件添加到相册 ContentResolver localContentResolver = getContentResolver(); ContentValues local ...

  5. android本地图片转base64,Android Base64转图片 保存至相册

    最近项目中有一个需求,获取服务端的图片Base64码转回图片后保存至相册,这么简单的事还用得着我动手吗,当然是使用ctrl c v大法了,下面看看代码: public void savePicture ...

  6. Android 下载网络图片保存到本地

    通过网络地址获取网络图片,点击下载将图片显示出来,然后点击图片将图片保存到本地. 首先需要在manifest上添加一些权限: <!-- 访问网络的权限 --> <uses-permi ...

  7. 安卓 Android 下载网络图片保存到本地

    通过网络地址获取网络图片,点击下载将图片显示出来,然后点击图片将图片保存到本地. 首先需要在manifest上添加一些权限: <!-- 访问网络的权限 --> <uses-permi ...

  8. Android开发-下载网络图片并显示到本地

    Android下载网络图片的流程是: 发送网络请求->将图片以流的形式下载下来->将流转换为Bitmap并赋给ImageView控件. 注意点 最新的Android系统不可以在主线程上请求 ...

  9. android 下载保存视频到本地相册刷新 机型适配问题

    android 下载保存视频到本地相册刷新 机型适配问题 android 下载保存视频到本地相册刷新问题 一般我们保存视频文件到本地 使用一下方法扫描到相册,通知相册更新 MediaScannerCo ...

最新文章

  1. foreach判断最后一个_JavaScript很简单?那你理解的forEach真的对吗?
  2. Python学习笔记(十三)
  3. redis 源码 ziplist.c 压缩list的实现
  4. 实现数据库实时更新 jQuery Timers
  5. android gradle 1.5.0,Cordova build – 无法解析com.android.tools.build:gradle:1.5.0
  6. python地图包_Python交互地图-folium包
  7. 第七天20160803
  8. ECMAScript6学习笔记 ——let、const、变量解构赋值
  9. Linux命令之乐--iconv
  10. Html服务器控件简介
  11. CentOS 6.5下安装Docker
  12. 计算机用户系统软件,计算机软件系统
  13. 入侵检测技术期末重点总结
  14. n位整数去掉m位后求最大值问题
  15. 【转】基于gamebryo引擎开发过程中组件的应用和取舍 By 宋晓宇
  16. zencart网店模板
  17. 7-2 学生成绩排序 (15 分)
  18. 【第一组】第六次冲刺例会
  19. python开发部署时新增数据库中表的方法
  20. 边酒店V2系统v1.0.15 酒店预定 民宿客栈

热门文章

  1. 除了QVGA你还知多少?屏幕分辨率全解析
  2. 华为设备命令控制台的快捷键
  3. c语言电子琴原理,电子琴入门:电子琴内部结构及发声原理
  4. 小米监控--Open-Falcon
  5. 计算机毕业设计javaweb的在线电影网_视频点播系统
  6. 用python生成动态樱花树
  7. [Rootkit] 修改 peb 隐藏 dll(断链)
  8. 如何高效且优雅做笔记?
  9. 【PIE-Earth】入门介绍和配置开发环境
  10. 医疗广告进入深水区,移动端成新阵地