使用http协议获取网络图片

article/2025/9/24 8:53:02

http用于传输WWW方式的数据。http协议采用了请求响应的模型。在android中提供了HttpURLConnection和HttpClient接口开发HTTP程序。下面分别使用这两种方式获取网络图片。

          1.HttpURLConnection

          代码如下:

   

[html]  view plain  copy
  1. public class HttpURLConnectionActivity extends Activity {  
  2.   
  3.     private ImageView imageView;  
  4.     @Override  
  5.     protected void onCreate(Bundle savedInstanceState) {  
  6.         // TODO Auto-generated method stub  
  7.         super.onCreate(savedInstanceState);  
  8.         setContentView(R.layout.simple1);  
  9.           
  10.         imageView=(ImageView) this.findViewById(R.id.imageView1);  
  11.         //传入网络图片地址  
  12.         try {  
  13.             URL url = new URL("http://news.xinhuanet.com/photo/2012-02/09/122675973_51n.jpg");  
  14.             HttpURLConnection conn= (HttpURLConnection) url.openConnection();  
  15.             conn.setRequestMethod("GET");  
  16.             conn.setConnectTimeout(5*1000);  
  17.             conn.connect();  
  18.             InputStream in=conn.getInputStream();  
  19.             ByteArrayOutputStream bos=new ByteArrayOutputStream();  
  20.             byte[] buffer=new byte[1024];  
  21.             int len = 0;  
  22.             while((len=in.read(buffer))!=-1){  
  23.                 bos.write(buffer,0,len);  
  24.             }  
  25.             byte[] dataImage=bos.toByteArray();  
  26.             bos.close();  
  27.             in.close();  
  28.             Bitmap bitmap=BitmapFactory.decodeByteArray(dataImage, 0, dataImage.length);  
  29.             //Drawable drawable=BitmapDrawable.  
  30.             imageView.setImageBitmap(bitmap);  
  31.         } catch (Exception e) {  
  32.             // TODO Auto-generated catch block  
  33.             e.printStackTrace();  
  34.             Toast.makeText(getApplicationContext(), "图片加载失败", 1).show();  
  35.         }  
  36.           
  37.     }  
  38. }  

           最后不要忘记在manifest.xml加入网络访问权限:
[html]  view plain  copy
  1. <uses-permission android:name="android.permission.INTERNET" />  
         由于访问网络图片是比较耗时的操作,所以在正式项目中使用异步加载图片,效果会更好。

         运行效果:

        

         2.HttpClient

          下面使用HttpClient获取网页内容:

        

[html]  view plain  copy
  1. public class HttpClientActivity extends Activity {  
  2.   
  3.     private ImageView imageview;  
  4.     private TextView text;  
  5.     @Override  
  6.     protected void onCreate(Bundle savedInstanceState) {  
  7.         // TODO Auto-generated method stub  
  8.         super.onCreate(savedInstanceState);  
  9.         setContentView(R.layout.simple2);  
  10.           
  11.         imageview=(ImageView) this.findViewById(R.id.imageView2);  
  12.         text=(TextView) this.findViewById(R.id.textView2);  
  13.         HttpGet httpGet=new HttpGet("http://cloud.csdn.net/a/20120209/311628.html");  
  14.         HttpClient httpClient=new DefaultHttpClient();  
  15.         try {  
  16.             //得到HttpResponse对象  
  17.             HttpResponse httpResponse=httpClient.execute(httpGet);  
  18.             //HttpResponse的返回结果是不是成功  
  19.             if(httpResponse.getStatusLine().getStatusCode()==HttpStatus.SC_OK){  
  20.                 //得到返回数据的字符串  
  21.                 String dataImageStr=EntityUtils.toString(httpResponse.getEntity());  
  22.                 text.setText(dataImageStr);  
  23.             }  
  24.         } catch (ClientProtocolException e) {  
  25.             // TODO Auto-generated catch block  
  26.             e.printStackTrace();  
  27.         } catch (IOException e) {  
  28.             // TODO Auto-generated catch block  
  29.             e.printStackTrace();  
  30.         }  
  31.     }  
  32. }  

       运行效果:

       

        这样就成功加载了网页内容。


http://chatgpt.dhexx.cn/article/cxbtEXjV.shtml

相关文章

python使用pillow下载网络图片到本地预览

安装方法&#xff1a; python -m pip install pillow项目github地址&#xff1a;https://github.com/python-pillow/Pillow 从网络中获取图片&#xff0c;整体的思路是&#xff1a; 使用requests读取图片变为字节流使用PIL读取并解析 示例代码 from PIL import Image # 导…

Java根据图片网络URL地址判断图片大小

1、测试类 package test;import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.math.BigDecimal; import java.net.Ht…

查看网络图片的地址

鼠标右键一般都会弹出几个选择&#xff0c;直接选择复制&#xff0c;有些是不同的可以选择选择复制图像地址(o) 这样就复制到图片的地址了 有些是有查看图片信息的&#xff0c;这个和点进去图片的界面有关系&#xff0c; 图片信息如下图 &#xff0c;下面的位置就是图片的地址…

常用图片网络地址

常用图片网络地址 posted 2016-11-25 22:30 ^_^小麦苗^_^ 阅读( ...) 评论( ...) 编辑 收藏

关于如何将网络图片地址转换成Base64位格式

今天在开发app过程中&#xff0c;由于项目需求的需要&#xff0c;要配合apiCloud的打印模块进行与打印机设备的连接&#xff0c;并打印二维码&#xff0c;进行出入库的操作&#xff0c;所以有了将图片转换成base64的功能实现。 ** 首先导入如下相关文件 以下是关于代码功能的…

java获取无后缀的网络图的地址【从url中获取图片格式】

文章目录 引入解决方案 引入 demo地址 我们往往会有需要将第三方图片转存的需求&#xff0c;然后第三方图片常常是一个没有格式的url地址&#xff0c;例如微信用户信息接口获取的用户图片地址如下&#xff1a; https://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTKCVCniciaWgO…

更改技嘉主板开机画面

一、 首先按照顺序安装3个软件.NET4.5, APP Center , BIOS 二、 安装完成后运行BIOS&#xff0c;点击Face wizard选项&#xff0c;在点击“浏览” 三、 选择需要更新的开机画面&#xff0c;点击OK 四、 出现更新的LOGO画面&#xff0c;点击下一步&#xff0c;

windows10一键修改开机动画

今天没什么事打开酷安的时候看到一篇关于windwos改开机动画的&#xff0c;所以就在网上找了半天&#xff0c;终于是发现了这个方法非常简单亲测&#xff01;&#xff01; 利用GitHub开源项目“HackBGRT”。 地址&#xff1a;https://github.com/Metabolix/HackBGRT/releases …

window 开机画面修改

1.修改启动项&#xff1a; 修改为&#xff1a; 2.把想实现的图片修改名称为&#xff1a;boot.bmp 把该图片放置到c:\windows 3.试验完成&#xff0c;重启即可&#xff01; 用了个猪头做开机画面&#xff0c;嘿嘿。。。。。 转载于:https://blog.51cto.com/dnsdhcp/324457

联想ThinkPad E14 如何修改BIOS开机画面LOGO

环境&#xff1a; 电脑&#xff1a;联想E14 系统&#xff1a;Windows 10 专业版 64位 问题描述&#xff1a; 联想ThinkPad E14修改BIOS开机画面LOGO 解决方案&#xff1a; 一、下载BIOS升级程序 1.打开ThinkPad官方网下载BIOS升级程序 2.点击驱动下载 3.输入主机序列号…

源码中修改Android的开机画面和动画

参照文章&#xff1a;http://blog.csdn.net/a345017062/article/details/6222962、http://bbs.gfan.com/android-146253-1-1.html。 Android系统开机显示画面分成两个过程&#xff0c;第一个过程从按电源键到Frameworks启动为止。第二个过程从Frameworks启动完成到Launcher程序…

android开机logo和动画修改

Android系统开机显示画面分成两个过程&#xff0c;第一个过程从按电源键到Frameworks启动为止。第二个过程从Frameworks启动完成到Launcher程序启动完成。 第一个过程显示的画面是一张图&#xff0c;第二个过程显示的是一个动画。分别简要记录一下怎么样在源码中修改这两个地方…

修改Windows7启动画面与登录画面

Windows7进入桌面前&#xff0c;要经过两次画面切换&#xff0c;首先是启动画面&#xff0c;其次是登录画面。这两个画面可以通过特殊处理修改。 一、修改启动画面 方式1&#xff1a; 如果只需要变成全黑&#xff0c;不显示任何动画与文字&#xff0c;可以禁用启动画面&…

修改电脑开机徽标教程

Windows10/11修改电脑开机徽标 目录&#xff1a;修改电脑开机徽标条件修改教程修改成功之后 目录&#xff1a; 修改电脑开机徽标条件 Windows10 32位系统及以上&#xff08;否则改不成功&#xff01;&#xff09; 修改教程 1.Windows10/Windows11系统按下WinR 打开运行框 2.在…

修改开机logo

如何修改电脑开机logo 主要步骤第零步第一步第二步第三步第四步第五步第六步第七步 开机logo是每一台笔记本电脑开机时展现出来的画面&#xff0c;通常情况下是电脑的品牌&#xff0c;例如&#xff0c;联想、神舟、戴尔等。接下来&#xff0c;我将分享一下更换开机logo的经验。…

Android修改开机动画

1.首先找到framework/base/data/sounds/bootanimation.zip 4.0 是在vendor/thirdapp/zh_CN/bootanim/system/media/bootanimation.zip 看一下结构: desc.txt part0 part1 三部分 part0,part1包含相关动画图片(PNG格式&#xff0c;分辨率与手机分辨率相同) desc.txt为配置文件内…

更改安卓系统开机画面

1&#xff1b;进入as的Device 找到文件夹system&#xff0c;再找到文件夹media。&#xff08;在设备的ES工具中也能看到&#xff0c;在电脑上看不到&#xff09; 2; 进去之后找到bootanimaton.zip 文件&#xff0c;将其导出&#xff08;save as&#xff09;&#xff0c;然后删…

BIOS全屏开机画面LOGO的修改

对于在自己主板上添加全屏开机LOGO的过程&#xff0c;好多文章都已经介绍了&#xff0c;本网站以前的文章中也有介绍&#xff0c;但是很多网友还是无法自己修改成功。但很多原因都是没有掌握好修改的方法&#xff0c;本网站将制作修改过程重新制作了一下&#xff0c;希望对不明…

Android——修改开机画面

Android——修改开机画面 开机第三屏&#xff08;android动画&#xff09; 编译成功后在android源码根目录生成out目录&#xff0c; 修改android\out\target\product\sdkDemo\system\framework目录下的framework-res.apk 用winrar格式打开&#xff0c;替换assets\images里的2张…

win10如何更改计算机开机界面,win10怎么修改开机画面_win10开机画面怎么换

win10系统想必大家都非常熟悉吧&#xff0c;有的win10纯净版32位系统用户不想让自己的开机画面一直是一个样式&#xff0c;想要修改自己电脑的开机画面&#xff0c;可是又不知道应该怎么修改&#xff0c;接下来小编就给大家讲解一下关于win10系统更改启动画面的详细操作步骤。 …