`

Android显示网络图片

 
阅读更多

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:gravity="center">
	<ImageView
		android:id="@+id/img"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"/>
</LinearLayout>

 

MyWebDemo.java:

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;

public class MyWebDemo extends Activity {
	private static final String PATH = "http://image2.sina.com.cn/pfp/ask/images/zhishi/logo_zhishi.gif"; 
	private ImageView img = null ;									// 定义图片显示
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);						// 调用布局管理器
		this.img = (ImageView) super.findViewById(R.id.img) ;		// 取得组件
		try {
			byte data [] = this.getUrlData() ;						// 接收数据
			Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);	// 生成图形 
			this.img.setImageBitmap(bm) ;							// 显示图片
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public byte[] getUrlData() throws Exception {					// 取得网络图片数据
		ByteArrayOutputStream bos = null ;							// 内存输出流
		try {
			URL url = new URL(PATH) ;								// 定义URL
			bos = new ByteArrayOutputStream() ;						// 定义内存输出流
			byte data [] = new byte[1024] ;							// 每次读取1024
			HttpURLConnection conn = (HttpURLConnection) url.openConnection();	// 打开连接
			InputStream input = conn.getInputStream() ;				// 取得输入流
			int len = 0 ;											// 接收读取长度
			while((len = input.read(data)) != -1) {					// 没有读取到底部
				bos.write(data, 0, len) ;							// 向内存中保存
			}
			return bos.toByteArray() ;								// 变为字节数组返回
		} catch (Exception e) {
			throw e ;
		} finally { 
			if (bos != null) {
				bos.close();										// 关闭输出流
			}
		}
	}
}

 

 

分享到:
评论

相关推荐

    android 显示网络图片

    在Android开发中,显示网络图片是一项常见的任务,无论是制作应用的界面还是构建用户交互的界面,都需要用到这个功能。本篇文章将详细讲解如何在Android应用程序中加载并显示网络上的图片,以实现“android 显示网络...

    android 显示网络图片并放大缩小

    在Android开发中,显示网络图片并实现其放大缩小以及单点移动和多点触摸功能是一项常见的需求。这通常涉及到网络编程、图片加载库的使用、手势识别和图像处理等多个技术领域。以下是对这些知识点的详细解释: 1. **...

    android 如何从网络获取一张图片并显示

    如何从网络中获取一张图片,并显示出来?? 首先应想到若要从网络资源中获取图片,就需要通过流操作,于是就想到如何创建流。 第一步:指定图片资源的URL 第二步:通过RUL获取一个connection 第三步:通过连接获取...

    Android显示网络图片实例

    本文实例讲述了Android显示网络图片的方法,分享给大家供大家参考。具体方法如下: 一般来说,在Android中显示一张网络图片其实是非常简单的,下面就是一个非常简单的例子: 步骤1: ① 创建你的Activity,本例中以...

    Android Studio开发显示网络图片

    在Android应用开发中,显示网络图片是一个常见的需求,特别是在构建社交、新闻或者电商类应用时。Android Studio作为官方推荐的Android开发集成环境,提供了丰富的工具和技术支持来实现这一功能。以下将详细介绍如何...

    Android通过网络URL获取图片并显示

    本篇将详细讲解如何在Android应用中实现从网络URL获取并显示图片的功能。 首先,我们需要一个网络库来处理HTTP请求。常见的有Volley、OkHttp和Retrofit等。这里以OkHttp为例,它是一个高效的网络库,支持异步请求和...

    Android Studio —— 下载网络图片显示

    本话题将聚焦于如何在Android Studio中下载网络图片并将其显示在应用中,这是一个常见的需求,特别是在创建涉及UI展示的应用时。 首先,要实现这个功能,我们需要使用到Android的网络请求库,比如`Volley`、`OkHttp...

    如何在Android当中显示网络图片.docx

    在Android开发中,显示网络图片是一项...综上所述,Android显示网络图片涉及到网络请求、位图处理、图像显示等多个技术环节。在实际开发中,除了理解基本原理,还需要关注性能优化和用户体验,以提供更高质量的应用。

    android中显示本地或网络GIF图片

    显示网络GIF图片则需要先下载图片数据。可以使用`HttpURLConnection`或者第三方库如`Volley`、`OkHttp`来获取。一旦获取到字节数组,你可以使用`Movie.decodeByteArray`方法来解析: ```java URL url = new URL...

    Android从网络加载图片并显示在ImageView控件上

    在Android开发中,将网络上的图片加载到ImageView控件上是一项常见的需求,特别是在构建社交应用、电商应用或者新闻阅读类应用时。这个过程涉及到多个关键知识点,包括网络请求、图片缓存策略、线程管理以及UI更新等...

    Android从网络上获取Gif图片并显示

    利用android开源库android-gif-drawable和android-async-http不仅能显示本地的gif图片,还能从网络上获取Gif图片并显示.即使是较大的gif图片,也不会报OOM异常。

    android安卓通过url获取网络图片并显示在imageview中

    总结,通过URL获取网络图片并在Android应用中显示,主要涉及以下几个知识点: 1. 添加第三方库Glide及其依赖。 2. 配置AndroidManifest.xml以允许网络访问。 3. 使用Glide的API加载图片到ImageView。 4. 可选地,...

    Android布局或控件显示网络图片教程源码

    在Android开发中,显示网络图片是一项常见的需求,无论是应用的启动图、用户头像还是商品图片,都需要从网络上加载并展示。本教程将详细讲解如何在Android布局或控件中实现这一功能,并提供源码供参考。我们将重点...

    android实战 网络图片浏览器(android studio源程序工程)

    在Android开发中,构建一个网络图片浏览器是一项常见的任务,它涉及到网络请求、图片加载优化以及UI设计等多个方面。本项目“android实战 网络图片浏览器”是一个基于Android Studio的源代码实例,专为初学者设计,...

    Android网络获取图片,显示在ViewPager上

    Glide提供了简洁的API,可以方便地在ImageView中加载网络图片,同时支持图片的缩放、裁剪和转换等操作。使用Glide加载网络图片的基本代码如下: ```java Glide.with(context) .load(...

    android显示网页图片

    我们可以通过以下方式使用Glide加载网络图片: ```java Glide.with(context) .load("http://example.com/image.jpg") .into(imageView); ``` 但是,如果我们需要异步下载图片到本地,就需要自定义实现或者利用第...

    Android ListView从网络获取图片及文字显示

    从网络加载图片显示到listview上,主函数布局是一个ListView item布局是TextView和ImageView 数量的多少视情况而定 再写一个网络请求数据的类 最后面有代码: ”urlConnection 请求数据类的封装“ 类名一定要一样...

    android获取网络图片并显示

    在Android开发中,获取网络图片并显示是一项常见的需求,例如在社交应用、新闻阅读器或者电商应用中。本文将详细讲解如何在Android中实现这一功能,主要包括以下几个知识点: 1. **URL与HttpURLConnection**: - ...

    android解析网络图片并显示在listview

    以上就是Android解析网络图片并显示在ListView中的主要知识点,这些技术和实践对于任何需要动态加载图片的Android应用来说都是至关重要的。在实际开发中,应根据项目需求和性能要求选择合适的方法和库。

Global site tag (gtag.js) - Google Analytics