`
mysfzj_web
  • 浏览: 14562 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

从网上获取图片

 
阅读更多



  

 


效果展示


输入图片地址,点击button



布局EditText,button,ImageView

给button加监听器实现代码:
String path = imagePathText.getText().toString();
                     NetTool NTU=new NetTool();
                     String imagePath = NTU.getImagePath(getBaseContext(), path);
                     imageView.setImageBitmap(BitmapFactory.decodeFile(imagePath));
 解                  释:
  •  path  图片路径
  •  NetTool  从网络获取图片的工具类
  •  NetTool 主要的3个方法
  • public class NetTool {
          static String TAG="step";
          public static InputStream getRequest(String path) throws Exception {
                URL url = new URL(path);
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setRequestMethod("GET");
                conn.setConnectTimeout(5000); // 5秒
                if (conn.getResponseCode() == 200) {
                      return conn.getInputStream();
                }
                return null;
    
    
          }
    
    
          public static byte[] readInputStream(InputStream inStream) throws Exception {
                ByteArrayOutputStream outSteam = new ByteArrayOutputStream();
                byte[] buffer = new byte[4096];
                int len = 0;
                while ((len = inStream.read(buffer)) != -1) {
                      outSteam.write(buffer, 0, len);
                }
                outSteam.close();
                inStream.close();
                return outSteam.toByteArray();
          }
    
    
          // 获取网络图片,如果缓存里面有就从缓存里面获取
          public static String getImagePath(Context context, String url) {
                if (url == null)
                      return "";
                String imagePath = "";
                String fileName = "";
    
    
                // 获取url中图片的文件名与后缀
                if (url != null && url.length() != 0) {
                      fileName = url.substring(url.lastIndexOf("/") + 1);
                }
    
    
                // 图片在手机本地的存放路径,注意:fileName为空的情况
                imagePath = context.getCacheDir() + "/" + fileName;
                Log.i(TAG, "imagePath = " + imagePath);
                File file = new File(context.getCacheDir(), fileName);// 保存文件,
                if (!file.exists()) {
                      Log.i(TAG, "file 不存在 ");
                      try {
                            byte[] data = readInputStream(getRequest(url));
                            Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0,
                                        data.length);
    
    
                            bitmap.compress(CompressFormat.JPEG, 100, new FileOutputStream(
                                        file));
    
    
                            imagePath = file.getAbsolutePath();
                            Log.i(TAG, "imagePath : file.getAbsolutePath() = " + imagePath);
    
    
                      } catch (Exception e) {
                            Log.e(TAG, e.toString());
                      }
                }
                return imagePath;
          } 
    }    
             



 

  • 大小: 11.2 KB
  • 大小: 42.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics