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
原文地址:https://www.cnblogs.com/Miami/p/3139176.html