Android Handler简单例子
2013-02-21 14:22
411 查看
package com.example.handler; import android.os.Bundle; import android.app.Activity; import android.app.ProgressDialog; import android.content.res.Resources; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { //声明变量 private Button b1; private ProgressDialog pd; //定义Handler对象 private Handler handler =new Handler(){ @Override //当有消息发送出来的时候就执行Handler的这个方法 public void handleMessage(Message msg){ super.handleMessage(msg); //只要执行到这里就关闭对话框 pd.dismiss(); } }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Resources res= this.getResources(); //查看UI组件所在的线程名 Log.i("tag", "onCreate()-->"+Thread.currentThread().getName()); //定义UI组件 b1= (Button)findViewById(R.id.Button01); //给按钮绑定单击事件监听器 b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //点击按钮后去处理长耗时操作 processThread(); } }); } private void processThread(){ //构建一个下载进度条 pd= ProgressDialog.show(MainActivity.this, "下载文件", "正在下载……"); Log.i("tag", "processThread()-->"+Thread.currentThread().getName()); new Thread(){ @Override public void run(){ Log.i("tag", "run()-->"+Thread.currentThread().getName()); //在新线程里执行长耗时方法 longTimeMethod(); //执行完毕后给handler发送一个空消息 handler.sendEmptyMessage(0); } }.start(); } //模拟下载文件的长耗时方法 private void longTimeMethod(){ try { Log.i("tag", "longTimeMethod-->"+Thread.currentThread().getName()); Thread.sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } } }
转自:http://android.yaohuiji.com/archives/770
相关文章推荐
- Android访问网络的常用方式:Handler、AsyncTask简单例子(服务器端+Android端)
- [Android]一个简单使用Handler做Timer的例子
- Android访问网络的常用方式:Handler、AsyncTask简单例子(服务器端+Android端)
- Android(14)Handler简单例子(1)
- Android初学习 - Handler使用的简单例子
- android 一个小例子说明handler和AlertDialog的简单使用
- Android入门(5)最简单的Handler例子
- Android入门(5)最简单的Handler例子
- Android入门(5)最简单的Handler例子
- 一个简单的例子解析android中Handler线程和普通Thread的使用
- Android中实现Runnable接口简单例子
- Android 基础教程之---动态更改屏幕方向的简单例子(LANDSCAPE与PORTRAIT)!
- android中简单的Handler与Message
- Android 基础教程之---动态更改屏幕方向的简单例子(LANDSCAPE与PORTRAIT)!
- Android Apk解密工程初探(1)——简单的例子
- Android 简单封装的例子
- android json解析及简单例子
- android json解析及简单例子
- android(23)(网易新闻的简单例子:包括pull解析,httpclient和ListView等知识点)
- android json解析及简单例子