首页 > 代码库 > Handle的使用
Handle的使用
Handle
用于异步消息处理,发送消息后消息进入队列,然后发送消息函数即可返回,其他函数再逐个取出消息进行处理,也即接收消息与发送消息不是同步进行。
基本使用方法(异步消息处理机制)
(1)创建一个Handle对象
(2)将要执行的操作写在线程对象(runnable)的run方法当中(用匿名内部类实现);在run方法内部,执行postDelayed或者post方法
(3)调用Handle的post方法,将要执行的线程对象添加到队列当中
(线程:实现Runnable接口的run方法)
例程:
public class HandlerActivity extends Activity { private Button startButton = null; private Button endButton = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); startButton = (Button)findViewById(R.id.startButton); startButton.setOnClickListener(new StartButtonListener()); endButton = (Button)findViewById(R.id.endButton); endButton.setOnClickListener(new EndButtonListener()); } class StartButtonListener implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub //调用Handle的post方法,将要执行的线程对象添加到队列当中 handler.post(updataThread); } } class EndButtonListener implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub handler.removeCallbacks(updataThread); } } //创建一个Handle对象 Handler handler = new Handler(); //将要执行的操作写在线程对象(runnable)的run方法当中(用匿名内部类实现) Runnable updataThread = new Runnable(){ public void run() { System.out.println("UpdataThread"); //在run方法内部,执行postDelayed或者post方法 handler.postDelayed(updataThread, 3000); } }; }
Handle的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。