摘要:本文将带你了解Android开发之实现图片下载并保存SD卡,希望本文对大家学Android有所帮助。
一、首先获取图片
//第一种获取图片的方法
1 String filePath = downloadUrl; 2 //以下是取得图片的方法 3 取得的是InputStream,直接从InputStream生成bitmap 4 mBitmap = BitmapFactory.decodeStream(getImageStream(filePath)); 5 6 public InputStream getImageStream(String path) throws Exception{ 7 URL url = new URL(path); 8 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 9 conn.setConnectTimeout(5 * 1000);10 conn.setRequestMethod("GET");11 if(conn.getResponseCode() == HttpURLConnection.HTTP_OK){12 return conn.getInputStream();13 }14 return null;15 }
//第二种获取图片的方法
1 String filePath = downloadUrl; 2 //以下是取得图片的方法 3 取得的是byte数组, 从byte数组生成bitmap 4 byte[] data = getImage(filePath); 5 if(data!=null){ 6 mBitmap = BitmapFactory.decodeByteArray(data, 0, data.length); 7 }else{ 8 Toast.makeText(MainActivity.this, "Image error!", Toast.LENGTH_SHORT).show(); 9 }10 public byte[] getImage(String path) throws Exception{11 URL url = new URL(path);12 HttpURLConnection conn = (HttpURLConnection) url.openConnection();13 conn.setConnectTimeout(5 * 1000);14 conn.setRequestMethod("GET");15 InputStream inStream = conn.getInputStream();16 if(conn.getResponseCode() == HttpURLConnection.HTTP_OK){17 return readStream(inStream);18 }19 return null;20 }21 public static byte[] readStream(InputStream inStream) throws Exception{22 ByteArrayOutputStream outStream = new ByteArrayOutputStream();23 byte[] buffer = new byte[1024];24 int len = 0;25 while( (len=inStream.read(buffer)) != -1){26 outStream.write(buffer, 0, len);27 }28 outStream.close();29 inStream.close();30 return outStream.toByteArray();31 }
二、保存图片
1 ** 2 * 保存bitmap到SD卡 3 * @param bitmap 4 */ 5 public void saveBitmapToSDCard(Bitmap bitmap) { 6 FileOutputStream fos = null; 7 try { 8 fos = new FileOutputStream(picPath);//picPath为保存SD卡路径 9 if (fos != null) {10 bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);11 fos.close();12 }13 } catch (Exception e) {14 e.printStackTrace();15 }16 }
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号