欢迎使用CSDN-markdown编辑器

来源:互联网 发布:淘宝店铺水印制作 编辑:程序博客网 时间:2024/06/16 17:45

android初学者 Handler Message

根据api简单的运用Handler 具体代码如下

代码块

代码块语法遵循标准markdown代码,例如:
private Handler handler = new Handler() {

    @Override    public void handleMessage(Message msg) {        byte[] s = (byte[]) msg.obj;        bitmap = BitmapFactory.decodeByteArray(s, 0, s.length);        imageView.setImageBitmap(bitmap);        if (msg.arg1 == INTPUT) {            dialog.dismiss();        }    }};@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    button = (Button) findViewById(R.id.butn1);    imageView = (ImageView) findViewById(R.id.image);    dialog = new ProgressDialog(this);    dialog.setTitle("提示");    dialog.setMessage("正在下载,请稍等");    dialog.setCancelable(false);    button.setOnClickListener(new OnClickListener() {        @Override        public void onClick(View arg0) {            // TODO Auto-generated method stub            new Thread(new Mymessage()).start();            dialog.show();        }    });}public class Mymessage implements Runnable {    @Override    public void run() {        HttpClient client = new DefaultHttpClient();        HttpGet get = new HttpGet(path);        try {            HttpResponse httpResponse = client.execute(get);            if (httpResponse.getStatusLine().getStatusCode() == 200) {                byte[] data = EntityUtils.toByteArray(httpResponse                        .getEntity());                Message message = new Message().obtain();                message.obj = data;                message.arg1 = INTPUT;                handler.sendMessage(message);            }        } catch (ClientProtocolException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}@Overridepublic 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;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {    // Handle action bar item clicks here. The action bar will    // automatically handle clicks on the Home/Up button, so long    // as you specify a parent activity in AndroidManifest.xml.    int id = item.getItemId();    if (id == R.id.action_settings) {        return true;    }    return super.onOptionsItemSelected(item);}
0 0