android中显示网络图片
16lz
2021-01-24
在android 当中显示一张网络图片的时候,其实是比较麻烦的。首先得把这个网络图片转换成java的imputstream流,然后再把这个留转换成一个bitMap.
bitMap是可以作为参数传给imageView的。
在下边的returnBitMap函数是最核心的,也是大家可以重用的,它负责把一个url的网络图片变成一个本地的BitMap。
- packagecom.jinyan.image;
- importjava.io.IOException;
- importjava.io.InputStream;
- importjava.net.HttpURLConnection;
- importjava.net.MalformedURLException;
- importjava.net.URL;
- importandroid.app.Activity;
- importandroid.graphics.Bitmap;
- importandroid.graphics.BitmapFactory;
- importandroid.os.Bundle;
- importandroid.util.Log;
- importandroid.view.View;
- importandroid.view.View.OnClickListener;
- importandroid.widget.Button;
- importandroid.widget.ImageView;
- publicclassActivityMainextendsActivity{
- /**Calledwhentheactivityisfirstcreated.*/
- StringimageUrl="http://i.pbase.com/o6/92/229792/1/80199697.uAs58yHk.50pxCross_of_the_Knights_Templar_svg.png";
- BitmapbmImg;
- ImageViewimView;
- Buttonbutton1;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- imView=(ImageView)findViewById(R.id.imview);
- imView.setImageBitmap(returnBitMap(imageUrl));
- }
- publicBitmapreturnBitMap(Stringurl){
- URLmyFileUrl=null;
- Bitmapbitmap=null;
- try{
- myFileUrl=newURL(url);
- }catch(MalformedURLExceptione){
- e.printStackTrace();
- }
- try{
- HttpURLConnectionconn=(HttpURLConnection)myFileUrl
- .openConnection();
- conn.setDoInput(true);
- conn.connect();
- InputStreamis=conn.getInputStream();
- bitmap=BitmapFactory.decodeStream(is);
- is.close();
- }catch(IOExceptione){
- e.printStackTrace();
- }
- returnbitmap;
- }
- }
- xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <ImageViewandroid:id="@+id/imview"android:layout_width="wrap_content"
- android:layout_height="wrap_content"android:layout_gravity="center"/>
- LinearLayout>
注意,想要让你的程序 可以访问网络,你必须在menifest文件里边增加:
Xml代码- <uses-permissionandroid:name="android.permission.INTERNET"/>
更多相关文章
- android入门:zxing学习笔记(一)
- Android常用控件以及用法
- Java乔晓松-android中的手势识别的详解
- [置顶] android 优化那些事之图片缓存设计/如何高效的展示图片(
- 怎样在android中添加背景图片?
- Android(安卓)ART
- Android:基于Eclipse编译调试系统级应用源代码
- android开发图片小技巧
- Android按钮文字变色(使用 ColorStateList)