android开发-通过HttpURLConnection获取网络内容,Bitmap把二进制格式的图片转为位图

原创 2013年08月09日 15:44:24

android开发-通过HttpURLConnection获取网络内容,

Bitmap把二进制格式的图片转为位图

布局:用ImageView显示图片

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 
    <EditText
        android:id="@+id/editTest_urlpath"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:ems="10"
      android:text="http://pic3.nipic.com/20090630/2987337_202447057_2.jpg">
    </EditText>
    <Button
        android:id="@+id/button"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="获取图片"/>
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
</LinearLayout>

权限:

要从网上获取到图片,或者其他内容,必须先弄个internet权限

<uses-permission android:name="android.permission.INTERNET"/>

Activity:测试类,把获取到的二进制图片转为位图并显示出来

@Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_image_view);
      
       editText_urlpath = (EditText) this.findViewById(R.id.editTest_urlpath);
       button = (Button) this.findViewById(R.id.button);
       imgView = (ImageView) this.findViewById(R.id.imageView);
      
       button.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
              byte[] data = ImageViewService.getImage();
              //把二进制图片转成位图
              Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
              imgView.setImageBitmap(bitmap);
           }
       });
    }

Service:提供从网上获取图片的方法(只是测试随便,什么参数得自己去提取了)

public class ImageViewService {
    public static byte[] getImage() {
       byte[] data = null;
       try {
           //建立URL
           URL url = new URL("http://pic3.nipic.com/20090630/2987337_202447057_2.jpg");
           HttpURLConnection conn = (HttpURLConnection) url.openConnection();
           conn.setRequestMethod("GET");
           conn.setReadTimeout(5000);
          
           InputStream input = conn.getInputStream();
           data = Util.readInputStream(input);
           input.close();
          
           System.out.println("下载完毕!");
       } catch (MalformedURLException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       } catch (IOException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
       return data;
    }
}

Util:工具类

public class Util {
    public static byte[] readInputStream(InputStream input) {
       ByteArrayOutputStream output = new ByteArrayOutputStream();
       try {
           byte[] buffer = new byte[1024];
           int len = 0;
           while((len = input.read(buffer)) != -1) {
              output.write(buffer, 0, len);
           }
       } catch (IOException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
       return output.toByteArray();
    }
}



版权声明:本文为博主原创文章,转载请注明原地址。 https://blog.csdn.net/qiantujava/article/details/9856547

Android 图片转二进制流及二进制转字符串

public static byte[] readStream(String imagepath) throws Exception { FileInputStream fs = new Fi...
  • u014484743
  • u014484743
  • 2017-08-31 17:48:02
  • 805

Android网络:HTTP之利用HttpURLConnection访问网页、获取网络图片实例 (附源码)

如前文所示的TCP局域网传送东西,除了对传输层的TCP/UDP支持良好外,Android对HTTP(超文本传输协议)也提供了很好的支持,这里包括两种接口:1、标准Java接口(java.net) --...
  • yanzi1225627
  • yanzi1225627
  • 2014-03-27 00:04:31
  • 88971

Android:网络图片Url 转 Bitmap

注意:该方法必须要在子线程中调用,因为涉及网络请求 public Bitmap getBitmap(String url) { Bitmap bm = null; ...
  • HMYANG314
  • HMYANG314
  • 2015-02-09 15:37:39
  • 16254

android使用HttpURLConnection实现带参数文件上传

文件上传是常见功能,然而android网上大多数的文件上传都使用httpclient,而且需要添加一个httpmine-jar,其实HttpURLConnection也可以实现文件上传,但是它在移动端...
  • kangaroo835127729
  • kangaroo835127729
  • 2015-08-16 17:39:20
  • 5880

根据图片的网络URL获取Bitmap

/** * 根据一个网络连接(String)获取bitmap图像 * * @param imageUri * @return * @throws M...
  • ithouse
  • ithouse
  • 2015-10-06 14:12:40
  • 5900

Android 通过URI加载网络图片bitmap

package com.example.picturefromnet; import android.app.Activity; import android.graphics.Bitmap; im...
  • AsiaLYF
  • AsiaLYF
  • 2016-09-11 18:59:34
  • 5600

将一个图片的url地址转换为一个bitmap图片

转载▼ URL url = new URL(path);    HttpURLConnection conn = (HttpURLConnection) url.openConne...
  • yun90
  • yun90
  • 2013-05-09 10:29:22
  • 5534

Android从网络上获取图片的两种方式

1,获得图片的bitmap格式 参见以前写的,这种方式是使用Url连接,位图工厂直接从连接解析 package cn.com.hh.http; import java.io.IOException;...
  • tuke_tuke
  • tuke_tuke
  • 2016-05-24 11:58:41
  • 805

Android 照片文件转化为而二进制流

/** * 照片转byte二进制 * @param imagepath 需要转byte的照片路径 * @return 已经转成的byte * @throws Exception */ pub...
  • qq_32521313
  • qq_32521313
  • 2017-04-01 09:20:26
  • 4891

android二进制显示图片

最佳碰到一个项目,需要网络请求显示图片,发现返回的字段是String类型的二进制,需要把这个字段转化成bitmap类型,然后显示出来 返回的json字段: {     "StrPlusK...
  • cf8833
  • cf8833
  • 2016-08-30 17:48:32
  • 522
收藏助手
不良信息举报
您举报文章:android开发-通过HttpURLConnection获取网络内容,Bitmap把二进制格式的图片转为位图
举报原因:
原因补充:

(最多只允许输入30个字)