欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android编程显示网络上的图片实例详解

程序员文章站 2024-03-04 13:01:23
本文实例讲述了android编程显示网络上的图片的方法。分享给大家供大家参考,具体如下: 在android中显示网络上的图片,需要先根据url找到图片地址,然后把该图片转...

本文实例讲述了android编程显示网络上的图片的方法。分享给大家供大家参考,具体如下:

在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://content.52pk.com/files/100623/2230_102437_1_lit.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;
  }
}

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

运行效果:

Android编程显示网络上的图片实例详解

ps:关于androidmanifest.xml权限控制详细内容可参考本站在线工具:

android manifest功能与权限描述大全:
http://tools.jb51.net/table/androidmanifest

更多关于android相关内容感兴趣的读者可查看本站专题:《android图形与图像处理技巧总结》、《android开发入门与进阶教程》、《android调试技巧与常见问题解决方法汇总》、《android多媒体操作技巧汇总(音频,视频,录音等)》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。