Android从网络中获取图片

来源:互联网 发布:汽车编程什么意思 编辑:程序博客网 时间:2024/05/05 01:50
package cn.itcast.service;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import cn.itcast.utils.StreamTool;public class ImageService {public static byte[] getImage(String path) throws Exception {URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection)url.openConnection();conn.setRequestMethod("GET");conn.setConnectTimeout(5 * 1000);InputStream inStream = conn.getInputStream();//通过输入流获取图片数据return readInputStream(inStream);//得到图片的二进制数据}public static byte[] readInputStream(InputStream inStream) throws Exception{ByteArrayOutputStream outStream = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len = 0;while( (len=inStream.read(buffer)) != -1 ){outStream.write(buffer, 0, len);}inStream.close();return outStream.toByteArray();}}
package cn.itcast.image;import cn.itcast.service.ImageService;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.Toast;public class ImageShowActivity extends Activity {private static final String TAG = "ImageShowActivity";    private EditText pathText;    private ImageView imageView;        @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                pathText = (EditText) this.findViewById(R.id.urlpath);        imageView = (ImageView) this.findViewById(R.id.imageView);        Button button = (Button)this.findViewById(R.id.button);        button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String path = pathText.getText().toString();try {byte[] data = ImageService.getImage(path);Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);//生成位图imageView.setImageBitmap(bitmap);//显示图片} catch (Exception e) {Toast.makeText(ImageShowActivity.this, R.string.error, 1).show();Log.e(TAG, e.toString());}}});    }}