安卓使用URL显示网络图片

来源:互联网 发布:西安软件新城楼盘 编辑:程序博客网 时间:2024/05/18 10:50

暑假第三篇 


设计思路:

输入网络图片的地址,点击浏览按钮可以显示网络中的图片。运用线程来实现。
1.activity.xml
import java.io.File;  import java.io.FileOutputStream;  import java.io.InputStream;  import android.content.Context;  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"      xmlns:tools="http://schemas.android.com/tools"      android:layout_width="match_parent"      android:layout_height="match_parent"      android:orientation="vertical"      android:paddingBottom="@dimen/activity_vertical_margin"      android:paddingLeft="@dimen/activity_horizontal_margin"      android:paddingRight="@dimen/activity_horizontal_margin"      android:paddingTop="@dimen/activity_vertical_margin"      tools:context=".MainActivity" >        <ImageView          android:id="@+id/ivImage"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:layout_gravity="center"          android:layout_weight="1" />        <EditText          android:id="@+id/etImageUrl"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:ems="10"          android:hint="请输入图片的地址"          android:text="http://epaper.yangtse.com/images/2010-06/24/A39/YZA39624C005_b.jpg" />        <Button          android:id="@+id/btnView"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:layout_gravity="center"          android:onClick="viewImage"          android:text="浏览" />    </LinearLayout>  
MainActivity.java
package com.example.xianshitupian;      import java.io.IOException;  import java.io.InputStream;  import java.net.HttpURLConnection;  import java.net.MalformedURLException;  import java.net.URL;          import android.os.Bundle;  import android.os.Handler;  import android.os.Message;  import android.app.Activity;  import android.graphics.Bitmap;  import android.graphics.BitmapFactory;  import android.text.TextUtils;  import android.view.Menu;  import android.view.View;  import android.widget.Button;  import android.widget.EditText;  import android.widget.ImageView;  import android.widget.Toast;      public class MainActivity extends Activity {      private ImageView xstp;      private EditText xdz;      private Button liulan;      public static final int SHOWIMAGE=1;      public static final int SHOWFAIL=0;      private Handler handler=new Handler(){              public void handleMessage(android.os.Message msg) {                  switch (msg.what) {                  case SHOWIMAGE:                      Bitmap bitmap=(Bitmap) msg.obj;                      xstp.setImageBitmap(bitmap);                      break;                      case SHOWFAIL:                      xstp.setImageResource(R.drawable.button_bg);                      Toast.makeText(MainActivity.this, "显示图片失败", Toast.LENGTH_LONG).show();                      break;                      default:                      break;                  }              };          };          @Override      protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.activity_main);          xstp=(ImageView) findViewById(R.id.ivImage);          xdz=(EditText) findViewById(R.id.etdizhi);          xstp.setImageResource(R.drawable.button_bg);      }          @Override      public boolean onCreateOptionsMenu(Menu menu) {          // Inflate the menu; this adds items to the action bar if it is present.          getMenuInflater().inflate(R.menu.main, menu);          return true;      }      public void star(View view){          final String imageUrl=xdz.getText().toString();          if(TextUtils.isEmpty(imageUrl)){              Toast.makeText(this, "图片路径不能为空", Toast.LENGTH_LONG).show();          }else{              new Thread(){                      public void run() {                          try {                              URL url=new URL(imageUrl);                              HttpURLConnection httpURLConnection=(HttpURLConnection) url.openConnection();                              httpURLConnection.setRequestMethod("GET");                              httpURLConnection.setConnectTimeout(5000);                              int responseCode=httpURLConnection.getResponseCode();                              if(responseCode==200){                                  InputStream inputStream=httpURLConnection.getInputStream();                                  Bitmap bitmap=BitmapFactory.decodeStream(inputStream);                                  Message message=new Message();                                  message.what=SHOWIMAGE;                                  message.obj=bitmap;                                  //ivImage.setImageBitmap(bitmap);                                  handler.sendMessage(message);                              }else{                                  Message message=new Message();                                  message.what=SHOWFAIL;                                  handler.sendMessage(message);                              }                          } catch (MalformedURLException e) {                              e.printStackTrace();                          } catch (IOException e) {                              e.printStackTrace();                          }                  }              }.start();          }      }  }  


0 0
原创粉丝点击