zoukankan      html  css  js  c++  java
  • android17

    【网络图片查看】

     1 package cn.itcast.image;
     2 
     3 import cn.itcast.service.ImageService;
     4 import android.app.Activity;
     5 import android.graphics.Bitmap;
     6 import android.graphics.BitmapFactory;
     7 import android.os.Bundle;
     8 import android.view.View;
     9 import android.widget.Button;
    10 import android.widget.EditText;
    11 import android.widget.ImageView;
    12 import android.widget.Toast;
    13 
    14 public class MainActivity extends Activity {
    15     private EditText pathText;
    16     private ImageView imageView;
    17     
    18     @Override
    19     public void onCreate(Bundle savedInstanceState) {
    20         super.onCreate(savedInstanceState);
    21         setContentView(R.layout.main);
    22         
    23         pathText = (EditText) this.findViewById(R.id.imagepath);
    24         imageView = (ImageView) this.findViewById(R.id.imageView);
    25         Button button = (Button) this.findViewById(R.id.button);
    26         button.setOnClickListener(new ButtonClickListener());
    27     }
    28     
    29     private final class ButtonClickListener implements View.OnClickListener{
    30 
    31         public void onClick(View v) {
    32             String path = pathText.getText().toString();
    33             try{
    34                 byte[] data = ImageService.getImage(path);
    35                 Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
    36                 imageView.setImageBitmap(bitmap);//显示图片
    37             }catch (Exception e) {
    38                 e.printStackTrace();
    39                 Toast.makeText(getApplicationContext(), R.string.error, 1).show();
    40             }
    41         }
    42     }
    43 }
    View Code
     1 package cn.itcast.service;
     2 
     3 import java.io.InputStream;
     4 import java.net.HttpURLConnection;
     5 import java.net.URL;
     6 
     7 import cn.itcast.utils.StreamTool;
     8 
     9 public class ImageService {
    10     /**
    11      * 获取网络图片的数据
    12      * @param path 网络图片路径
    13      * @return
    14      */
    15     public static byte[] getImage(String path) throws Exception{
    16         URL url = new URL(path);
    17         HttpURLConnection conn = (HttpURLConnection) url.openConnection();//基于HTTP协议连接对象
    18         conn.setConnectTimeout(5000);
    19         conn.setRequestMethod("GET");
    20         if(conn.getResponseCode() == 200){
    21             InputStream inStream = conn.getInputStream();
    22             return StreamTool.read(inStream);
    23         }
    24         return null;
    25     }
    26 
    27 }
    View Code
     1 package cn.itcast.utils;
     2 
     3 import java.io.ByteArrayOutputStream;
     4 import java.io.InputStream;
     5 
     6 public class StreamTool {
     7     /**
     8      * 读取流中的数据
     9      * @param inStream
    10      * @return
    11      * @throws Exception
    12      */
    13     public static byte[] read(InputStream inStream) throws Exception{
    14         ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    15         byte[] buffer = new byte[1024];
    16         int len = 0;
    17         while( (len = inStream.read(buffer)) != -1){
    18             outStream.write(buffer, 0, len);
    19         }
    20         inStream.close();
    21         return outStream.toByteArray();
    22     }
    23 
    24 }
    View Code
  • 相关阅读:
    Javascript Property Names
    Java泛型
    Activity 与 Task
    使用ddns搭建免费服务器
    DDNS
    SimpleAdapter用法
    Java KeyNote
    Android无法访问本地服务器(localhost/127.0.0.1)的解决方案
    Android 添加网络权限
    Java 匿名内部类
  • 原文地址:https://www.cnblogs.com/Miami/p/3139176.html
Copyright © 2011-2022 走看看