您的位置:首页 > 其它

简易图片查看器

2015-11-20 15:59 225 查看
学习了一个网络图片查看器,具体代码如下:

public class MainActivity extends Activity {

protected static final int success = 1;
protected static final int fail = 2;
protected static final int error = 3;
private EditText et_path;
private ImageView iv;
private Button check;
private Handler handler=new Handler(){
public void handleMessage(android.os.Message msg){
switch(msg.what){
case success:
Bitmap bitmap=(Bitmap) msg.obj;
iv.setImageBitmap(bitmap);
break;
case fail:
Toast.makeText(MainActivity.this, (String)msg.obj, 1).show();
break;
case error:
Toast.makeText(MainActivity.this, (String)msg.obj, 1).show();
break;
}
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_path = (EditText) findViewById(R.id.et_path);
iv = (ImageView) findViewById(R.id.iv);
check=(Button)findViewById(R.id.check);
check.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
final String path=et_path.getText().toString().trim();
new Thread(){
public void run(){
try{
URL url=new URL(path);
HttpURLConnection co=(HttpURLConnection)url.openConnection();
co.setRequestMethod("GET");
co.setConnectionTimeout(5000);
int code=co.getResponseCode();
if(code==200){
InputStream in=co.getInputStream();
Bitmap bitmap=BitmapFactory.decodeStream(in);
Message msg=Message.obtain();
msg.obj=bitmap;
msg.what=success;
handler.sendMessage(msg);
}else{
Message msg = Message.obtain();
msg.what  = FAILED;
msg.obj = "请求失败";
handler.sendMessage(msg);
}
}catch(Exception e){
Message msg = Message.obtain();
msg.what  = ERROR;
msg.obj = "出现异常";
handler.sendMessage(msg);
e.printStackTrace();
}
};
}.start();
}
});
}
}


其中,Message.obtain();是指能够复用旧消息,以达到减小内存占用的目的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  图片查看