歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android中顯示網絡上的圖片

Android中顯示網絡上的圖片

日期:2017/3/1 10:24:32   编辑:Linux編程

在Android中顯示網絡上的圖片,需要先根據url找到圖片地址,然後把該圖片轉化成java的InputStream,然後把該InputStream流轉化成BitMap,BitMap可以直接顯示在android中的ImageView裡。這就是顯示網絡上圖片的思路,實現起來很簡單。下面讓我們看一下實現起來的過程。

首先在AndroidManifest.xml中給程序加上訪問Internet的權限:

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

然後在布局文件中加入一個ImageView,用來顯示網絡上的圖片:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical" >
  6. <TextView
  7. android:layout_width="fill_parent"
  8. android:layout_height="wrap_content"
  9. android:text="@string/hello" />
  10. <ImageView
  11. android:layout_width="wrap_content"
  12. android:layout_height="wrap_content"
  13. android:id="@+id/imageView" />
  14. </LinearLayout>

在主程序的Activity中寫從網絡中得到圖片,並轉化成InputStream,然後再轉化成可以顯示在ImageView裡的Bitmap。

  1. package com.image;
  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import java.net.HttpURLConnection;
  5. import java.net.MalformedURLException;
  6. import java.net.URL;
  7. import android.app.Activity;
  8. import android.graphics.Bitmap;
  9. import android.graphics.BitmapFactory;
  10. import android.os.Bundle;
  11. import android.widget.ImageView;
  12. public class NetImageActivity extends Activity {
  13. /** Called when the activity is first created. */
  14. String imageUrl = "http://www.linuxidc.com/upload/linuxidc.jpg";
  15. Bitmap bmImg;
  16. ImageView imView;
  17. @Override
  18. public void onCreate(Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.main);
  21. imView = (ImageView) findViewById(R.id.imageView);
  22. imView.setImageBitmap(returnBitMap(imageUrl));
  23. }
  24. public Bitmap returnBitMap(String url){
  25. URL myFileUrl = null;
  26. Bitmap bitmap = null;
  27. try {
  28. myFileUrl = new URL(url);
  29. } catch (MalformedURLException e) {
  30. e.printStackTrace();
  31. }
  32. try {
  33. HttpURLConnection conn = (HttpURLConnection) myFileUrl
  34. .openConnection();
  35. conn.setDoInput(true);
  36. conn.connect();
  37. InputStream is = conn.getInputStream();
  38. bitmap = BitmapFactory.decodeStream(is);
  39. is.close();
  40. } catch (IOException e) {
  41. e.printStackTrace();
  42. }
  43. return bitmap;
  44. }
  45. }

然後運行程序就可以顯示出來網絡上的圖片了。

運行效果:

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved