packagecom.tsh.internetpic;importjava.io.InputStream;importjava.net.HttpURLConnection;importjava.net.URL;importandroid.app.Activity;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.text.TextUtils;importandroid.view.View;importandroid.widget.EditText;importandroid.widget.ImageView;importandroid.widget.Toast;public class MainActivity extendsActivity {protected static final int CHANGE_UI = 0;protected static final int ERROR = 1;privateEditText et_path;privateImageView iv_pic;//主线程里面定义消息处理器
public Handler handler = newHandler() {
@Overridepublic voidhandleMessage(Message msg) {if(msg.what==CHANGE_UI){//更改ui
Bitmap bm=(Bitmap) msg.obj;
iv_pic.setImageBitmap(bm);
}else if(msg.what==ERROR){
String showMsg=(String) msg.obj;
Toast.makeText(MainActivity.this, showMsg, 0).show();
}
}
};
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_path=(EditText) findViewById(R.id.et_path);
iv_pic=(ImageView) findViewById(R.id.iv_pic);
}//点击
public voidgetInternetImg(View v) {final String path =et_path.getText().toString().trim();if(TextUtils.isEmpty(path)) {
Toast.makeText(this, "图片路径不能为空", 0).show();
}else{//开一个子线程
newThread() {
@Overridepublic voidrun() {try{
URL url= newURL(path);
HttpURLConnection conn=(HttpURLConnection) url
.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
conn.setRequestProperty("User-Agent", "");int code =conn.getResponseCode();if (code == 200) {
InputStream is=conn.getInputStream();
Bitmap bp=BitmapFactory.decodeStream(is);//发送消息
Message msg = newMessage();
msg.what=CHANGE_UI;
msg.obj=bp;
handler.sendMessage(msg);
}else{
Message msg= newMessage();
msg.what=ERROR;
msg.obj= "网络连接错误";
handler.sendMessage(msg);//Toast.makeText(this, "网络连接超时", 0).show();
}
}catch(Exception e) {
e.printStackTrace();
}
}
}.start();
}
}
}