在Android当中显示一张网络图片的时候,其实是比较麻烦的。
首先得把这个网络图片转换成java的imputstream流,然后再把这个留转换成一个bitMap.
bitMap是可以作为参数传给imageView的。
在下边的returnBitMap函数是最核心的,也是大家可以重用的,它负责把一个url的网络图片变成一个本地的 BitMap。
1. package com.jinyan.image;
2.
3. import java.io.IOException;
4. import java.io.InputStream;
5. import java.net.HttpURLConnection;
6. import java.net.MalformedURLException;
7. import java.net.URL;
8.
9. import android.app.Activity;
10. import android.graphics.Bitmap;
11. import android.graphics.BitmapFactory;
12. import android.os.Bundle;
13. import android.util.Log;
14. import android.view.View;
15. import android.view.View.OnClickListener;
16. import android.widget.Button;
17. import android.widget.ImageView;
18.
19. public class ActivityMain extends Activity {
20. /** Called when the activity is first created. */
21.
22. String imageUrl = "http://i.pbase.com/o6/92/229792/1/80199697.uAs58yHk.50pxCross_of_the_Knights_Templar_svg.png";
23. Bitmap bmImg;
24. ImageView imView;
25.
26. Button button1;
27.
28. @Override
29. public void onCreate(Bundle savedInstanceState) {
30. super.onCreate(savedInstanceState);
31. setContentView(R.layout.main);
32. imView = (ImageView) findViewById(R.id.imview);
33. imView.setImageBitmap(returnBitMap(imageUrl));
34.
35.
36. }
37.
38. public Bitmap returnBitMap(String url) {
39. URL myFileUrl = null;
40. Bitmap bitmap = null;
41. try {
第1页 第2页 第3页
在android当中显示一张网络图片的时候,其实是比较麻烦的。
首先得把这个网络图片转换成java的imputstream流,然后再把这个留转换成一个bitMap.
bitMap是可以作为参数传给imageView的。
在下边的returnBitMap函数是最核心的,也是大家可以重用的,它负责把一个url的网络图片变成一个本地的 BitMap。
1. package com.jinyan.image;
2.
3. import java.io.IOException;
4. import java.io.InputStream;
5. import java.net.HttpURLConnection;
6. import java.net.MalformedURLException;
7. import java.net.URL;
8.
9. import android.app.Activity;
10. import android.graphics.Bitmap;
11. import android.graphics.BitmapFactory;
12. import android.os.Bundle;
13. import android.util.Log;
14. import android.view.View;
15. import android.view.View.OnClickListener;
16. import android.widget.Button;
17. import android.widget.ImageView;
18.
19. public class ActivityMain extends Activity {
20. /** Called when the activity is first created. */
21.
22. String imageUrl = "http://i.pbase.com/o6/92/229792/1/80199697.uAs58yHk.50pxCross_of_the_Knights_Templar_svg.png";
23. Bitmap bmImg;
24. ImageView imView;
25.
26. Button button1;
27.
28. @Override
29. public void onCreate(Bundle savedInstanceState) {
30. super.onCreate(savedInstanceState);
31. setContentView(R.layout.main);
32. imView = (ImageView) findViewById(R.id.imview);
33. imView.setImageBitmap(returnBitMap(imageUrl));
34.
35.
36. }
37.
38. public Bitmap returnBitMap(String url) {
39. URL myFileUrl = null;
40. Bitmap bitmap = null;
41. try {
第1页 第2页 第3页
接上页
42. myFileUrl = new URL(url);
43. } catch (MalformedURLException e) {
44. e.printStackTrace();
45. }
46. try {
47. HttpURLConnection conn = (HttpURLConnection) myFileUrl
48. .openConnection();
49. conn.setDoInput(true);
50. conn.connect();
51. InputStream is = conn.getInputStream();
52. bitmap = BitmapFactory.decodeStream(is);
53. is.close();
54. } catch (IOException e) {
55. e.printStackTrace();
56. }
57. return bitmap;
58. }
59.
60. }
package com.jinyan.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.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; public class ActivityMain extends Activity { /** Called when the activity is first created. */ String imageUrl = "http://i.pbase.com/o6/92/229792/1/80199697.uAs58yHk.50pxCross_of_the_Knights_Templar_svg.png"; Bitmap bmImg; ImageView imView; Button button1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); imView = (ImageView) findViewById(R.id.imview); 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();
第1页 第2页 第3页
接上页
} catch (IOException e) { e.printStackTrace(); } return bitmap; } }
1. xml version="1.0" encoding="utf-8"? >
2. < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3. android:orientation="vertical" android:layout_width="fill_parent"
4. android:layout_height="fill_parent" >
5. < ImageView android:id="@+id/imview" android:layout_width="wrap_content"
6. android:layout_height="wrap_content" android:layout_gravity="center" / >
7. LinearLayout >
注意,想要让你的程序可以访问网络,你必须在menifest文件里边增加:
1. < uses-permission android:name="android.permission.INTERNET" / >
< uses-permission android:name="android.permission.INTERNET" / >
完整的menifest文件为:
1. < ?xml version="1.0" encoding="utf-8"? >
2. < manifest xmlns:android="http://schemas.android.com/apk/res/android"
3. package="com.jinyan.image" android:versionCode="1"
4. android:versionName="1.0.0" >
5. < uses-permission android:name="android.permission.INTERNET" / >
6. < application android:icon="@drawable/icon"
7. android:label="@string/app_name" >
8. < activity android:name=".ActivityMain"
9. android:label="@string/app_name" >
10. < intent-filter >
11. < action android:name="android.intent.action.MAIN" / >
12. < category
13. android:name="android.intent.category.LAUNCHER" / >
14. < /intent-filter >
15. < /activity >
16. < /application >
17. < /manifest >