通过网络地址获取网络图片,点击下载将图片显示出来,然后点击图片将图片保存到本地。

首先需要在manifest上添加一些权限:
<!-- 访问网络的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 文件读取的权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- 向SD卡中创建或者删除的权限。 -->
<uses-permission android:name="andorid.permission.MONUN_UNMOUNT_FILESYSTEMS"/>
package com.xjw.test;import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener{Button content;ImageView image;Bitmap bitmap;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);content=(Button)findViewById(R.id.content);image=(ImageView)findViewById(R.id.image);content.setOnClickListener(this);;image.setOnClickListener(this);;}/*** 获取网络图片* @param imageurl 图片网络地址* @return Bitmap 返回位图*/public Bitmap GetImageInputStream(String imageurl){URL url;HttpURLConnection connection=null;Bitmap bitmap=null;try {url = new URL(imageurl);connection=(HttpURLConnection)url.openConnection();connection.setConnectTimeout(6000); //超时设置connection.setDoInput(true); connection.setUseCaches(false); //设置不使用缓存InputStream inputStream=connection.getInputStream();bitmap=BitmapFactory.decodeStream(inputStream);inputStream.close();} catch (Exception e) {e.printStackTrace();}return bitmap;}public void onClick(View v) {switch (v.getId()) {case R.id.content://加入网络图片地址new Task().execute("http://pic.4j4j.cn/upload/pic/20130617/55695c3c95.jpg");break;case R.id.image://点击图片后将图片保存到SD卡跟目录下的Test文件夹内SavaImage(bitmap, Environment.getExternalStorageDirectory().getPath()+"/Test");Toast.makeText(getBaseContext(), "图片保存", Toast.LENGTH_SHORT).show();break;default:break;}}Handler handler=new Handler(){public void handleMessage(android.os.Message msg) {if(msg.what==0x123){image.setImageBitmap(bitmap);}};};/*** 异步线程下载图片**/class Task extends AsyncTask<String, Integer, Void>{protected Void doInBackground(String... params) {bitmap=GetImageInputStream((String)params[0]);return null;}protected void onPostExecute(Void result) {super.onPostExecute(result);Message message=new Message();message.what=0x123;handler.sendMessage(message);}}/*** 保存位图到本地* @param bitmap* @param path 本地路径* @return void*/public void SavaImage(Bitmap bitmap, String path){File file=new File(path);FileOutputStream fileOutputStream=null;//文件夹不存在,则创建它if(!file.exists()){file.mkdir();}try {fileOutputStream=new FileOutputStream(path+"/"+System.currentTimeMillis()+".png");bitmap.compress(Bitmap.CompressFormat.JPEG, 100,fileOutputStream);fileOutputStream.close();} catch (Exception e) {e.printStackTrace();}}
}

Android 下载网络图片保存到本地相关推荐

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

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

  2. 微信小程序下载网络图片保存到本地

    微信小程序下载网络图片保存到本地 问题背景 前一篇文章介绍了,微信小程序网络请求数据并在页面列表显示(参考 https://blog.51cto.com/baorant24/6189453 ),本文将 ...

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

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

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

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

  5. 26.Android 下载图片保存到相册

    26.Android 下载图片保存到相册 Android 下载图片保存到相册 前言 实现思路 自定义Dialog 自定义Handler 自定义AsyncTask AndroidManifest配置权限 ...

  6. node.js抓取网络图片保存到本地,node.js抓取防盗链网络图片保存到本地

    node.js抓取网络图片保存到本地,node.js抓取防盗链网络图片保存到本地 使用模块request.fs,request模块在npm里平均月下载量超过3000W次,那是相当的牛逼. node版本 ...

  7. JAVA 通过url下载图片保存到本地(亲测)

    //java 通过url下载图片保存到本地    public static void download(String urlString, int i) throws Exception {     ...

  8. PHP高效下载图片保存到本地

    PHP如何怎么样高效下载图片保存到本地? 直接上代码: /*** 下载图片,保存到本地文件* * @param string $url* @param string $saveFile* @retur ...

  9. h5+的Downloader下载网络图片缓存到本地的案例

    之前展示图片都是通过<img src="/static/css/default/img/default.jpg" data-original="网络图片地址&quo ...

最新文章

  1. axi dma 寄存器配置_FPGA Xilinx Zynq 系列(三十二)AXI 接口
  2. 中科院计算所关于“木兰”语言问题处理情况说明
  3. “趣冷淡”怎么看?网络电话寻求共同语言
  4. SharedPointer
  5. ACM入门之【线段树】
  6. 文本编辑器查看 cprintf颜色_airWriter for mac(文本编辑软件)
  7. 【数据库系统】DBMS、DBS、DBA、DB的区别
  8. 【白皮书分享】2022新职业教育洞察白皮书:“职”成机遇,“育”见未来.pdf...
  9. Atitit 知识结构化的艺术 目录 1. 知识信息结构化脑图 2 1.1. 散乱化模式 2 2. 直线排列 2 2.1.1. 直排 2 2.1.2. 链表模式 2 3. 树形排列 2 3.1.
  10. 转:CommandArgument 传多个值到另外页面的方法
  11. 几款免费PDF合并成一个PDF的软件推荐,快收藏起来吧
  12. 全体是合同,多学学吧。当前少吃亏。
  13. android7.0 root教程,小米4S(全网通 安卓7.0)一键ROOT详解教程,看教程ROOT
  14. LOJ.6073.[2017山东一轮集训Day5]距离(可持久化线段树 树链剖分)
  15. xposed定位插件_模拟位置xposed
  16. u盘内存怎么测试软件,U盘下的内存检测软件
  17. 如何给mac重做系统
  18. Ambiguous handler methods mapped for 'xxx'的解决办法
  19. 《传感器电路的低噪声信号调理》阅读笔记
  20. 公羊优链蜘蛛池【高权重】

热门文章

  1. 数据结构(python) —— 【29: 贪心算法之换钱问题】
  2. java判断一个月有多少天代码_java oracle 查询一个月有多少天
  3. 看完这一篇后我同事说我写代码像写诗
  4. 使用Halcon实现图像处理
  5. mysql分片备份不一致问题_光大银行分布式实战:国内最大缴费平台的数据库架构转型...
  6. 解决Win10下海马玩模拟器蓝屏问题
  7. hadoop block split 区别
  8. 教你正确选择光伏组件与逆变器!
  9. 给树莓派配置VNC,设置开机自启
  10. 96年的小同事找了一份高薪工作