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

news/2024/11/17 4:32:27/

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

首先需要在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"></uses-permission></uses-permission></uses-permission>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("https://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, 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();}}
}

http://www.ppmy.cn/news/861219.html

相关文章

uniapp下载图片

咱们要做的主要是点击某个地方下载图片&#xff0c;点击按钮&#xff0c;会把图片下载到手机本地 下面是JS的实现代码 首先绑定事件 然后下面就是 //下面方法请写在你定义的方法中 uni.showLoading({title: 下载中...,mask: true})//提示 uni.downloadFile({ url: url, // 这里…

图片下载

// 图片下载函数public static String makeImg(String imgUrl, String fileURL) {String imgFile"";try {// 创建流BufferedInputStream in new BufferedInputStream(new URL(imgUrl).openStream());// 生成图片名int index imgUrl.lastIndexOf("/");Str…

Taro 下载图片到手机

最近需要做一个微信下载图片到手机的需求&#xff0c;因为涉及到微信的照片权限&#xff0c;因此做个记录 // 鉴权操作 判断是否有保存到相册的权限 // 有就直接下载 没有就弹窗提示给权限 downImg() {Taro.getSetting({success: res > {if(!res.authSetting[scope.writePh…

Android下载网络图片资源

从网络下载图片资源在各种APP中很常见&#xff0c;比如很多APP都有广告轮番功能&#xff0c;这些广告图片通常是从服务器获取的&#xff0c;这里就需要从服务器上下载图片资源并显示。 一、获取网络图片并下载到本地&#xff1a; 代码&#xff1a;MainActivity.java&#xff…

android图片下载器

android图片下载器 页面布局 <span style"white-space:pre"> </span><TextViewandroid:layout_width"match_parent"android:layout_height"wrap_content"android:text"图片下载器" android:gravity"center"a…

android图片下载到本地

1.联网权限 <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name"android.permission.INTERNE…

uniapp 下载图片并保存到手机的相册中

使用unaipp开发的微信小程序中&#xff0c;下载图片并保存到手机的相册中。 创建公共方法文件 common.js&#xff0c;相关api可以自行查阅微信开发文档了解&#xff0c;参照代码如下&#xff1a; let baseUrl https://tese.com; const getUpLoadFile async function (fileId…

手机端长按图片下载

手机端长按图片下载 一版html长按事件下载js效果图 二版(贴合App)htmljs效果图 一版 html <div id"target"><img src"./timg.jfif" id"img1" class"img1"></img> </div> $(function () {// 函数名longpress…