【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 1737|回复: 0

Android中显示网络上的图片

[复制链接]
发表于 2013-2-18 10:39:51 | 显示全部楼层 |阅读模式
在Android中显示网络上的图片,需要先根据url找到图片地址,然后把该图片转化成java的InputStream,然后把该InputStream流转化成BitMap,BitMap可以直接显示在android中的ImageView里。这就是显示网络上图片的思路,实现起来很简单。下面让我们看一下实现起来的过程。

首先在AndroidManifest.xml中给程序加上访问Internet的权限:

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

然后在布局文件中加入一个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" >
  •     <TextView
  •         android:layout_width="fill_parent"
  •         android:layout_height="wrap_content"
  •         android:text="@string/hello" />
  •     <ImageView
  •         android:layout_width="wrap_content"
  •         android:layout_height="wrap_content"
  •         android:id="@+id/imageView" />
  • </LinearLayout>

在主程序的Activity中写从网络中得到图片,并转化成InputStream,然后再转化成可以显示在ImageView里的Bitmap。

  • package com.image;
  • import java.io.IOException;
  • import java.io.InputStream;
  • import java.net.HttpURLConnection;
  • import java.net.MalformedURLException;
  • 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 NetImageActivity extends Activity {
  •     /** Called when the activity is first created. */
  •      String imageUrl = "http://www.linuxidc.com/upload/linuxidc.jpg";
  •      Bitmap bmImg;
  •      ImageView imView;
  •     @Override
  •     public void onCreate(Bundle savedInstanceState) {
  •         super.onCreate(savedInstanceState);
  •         setContentView(R.layout.main);
  •         imView = (ImageView) findViewById(R.id.imageView);
  •         imView.setImageBitmap(returnBitMap(imageUrl));
  •     }
  •     public Bitmap returnBitMap(String url){
  •         URL myFileUrl = null;
  •         Bitmap bitmap = null;
  •         try {
  •             myFileUrl = new URL(url);
  •         } catch (MalformedURLException e) {
  •             e.printStackTrace();
  •         }
  •         try {
  •             HttpURLConnection conn = (HttpURLConnection) myFileUrl
  •               .openConnection();
  •             conn.setDoInput(true);
  •             conn.connect();
  •             InputStream is = conn.getInputStream();
  •             bitmap = BitmapFactory.decodeStream(is);
  •             is.close();
  •         } catch (IOException e) {
  •               e.printStackTrace();
  •         }
  •               return bitmap;
  •     }
  • }

然后运行程序就可以显示出来网络上的图片了。

运行效果:









您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2024-11-23 19:10

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表