在AndroidManifest.xml里面先添加访问网络的权限:
<uses-permission android:name="android.permission.INTERNET"/>
效果图如下:
下面是主要代码:
1 package com.hb.neting; 2 3 import java.io.InputStream; 4 import java.net.HttpURLConnection; 5 import java.net.URL; 6 7 import android.annotation.SuppressLint; 8 import android.app.Activity; 9 import android.graphics.Bitmap; 10 import android.graphics.BitmapFactory; 11 import android.os.Bundle; 12 import android.text.TextUtils; 13 import android.view.View; 14 import android.widget.EditText; 15 import android.widget.ImageView; 16 import android.widget.Toast; 17 18 public class MainActivity extends Activity { 19 private ImageView iv_show; 20 private EditText et_input; 21 private String path; 22 private int code; 23 private HttpURLConnection conn; 24 @Override 25 protected void onCreate(Bundle savedInstanceState) { 26 super.onCreate(savedInstanceState); 27 setContentView(R.layout.activity_main); 28 iv_show=(ImageView) findViewById(R.id.iv_show); 29 et_input=(EditText) findViewById(R.id.et_inpput); 30 } 31 @SuppressLint("ShowToast") public void chakan(View view){ 32 path = et_input.getText().toString().trim(); 33 if (TextUtils.isEmpty(path)) { 34 Toast.makeText(MainActivity.this, "不能输入空的", 0).show(); 35 return; 36 } 37 new Thread(){ 38 public void run() { 39 try { 40 URL url = new URL(path); 41 conn = (HttpURLConnection) url.openConnection(); 42 conn.setRequestMethod("GET"); 43 conn.setConnectTimeout(5000); 44 code = conn.getResponseCode(); 45 if(code==200){ 46 InputStream in = conn.getInputStream(); 47 //解析图片 48 final Bitmap stream = BitmapFactory.decodeStream(in); 49 runOnUiThread(new Runnable() { 50 public void run() { 51 //更新UI 52 iv_show.setImageBitmap(stream); 53 } 54 }); 55 in.close(); 56 } 57 } catch (Exception e) { 58 e.printStackTrace(); 59 } 60 }; 61 }.start(); 62 } 63 }