读书人

从网下获取图片

发布时间: 2012-09-24 13:49:41 作者: rapoo

从网上获取图片


从网下获取图片
??
从网下获取图片
?


效果展示

输入图片地址,点击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;      } }    
?????????


?

读书人网 >移动开发

热点推荐