首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android讯息机制入门一

2012-08-28 
Android消息机制入门一Android消息机制入门一为什么要引入消息机制?package cn.edu.heut.zcl import java

Android消息机制入门一

Android消息机制入门一为什么要引入消息机制?

package cn.edu.heut.zcl; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.Bundle; public class Activity1 extends Activity { private int t = 0; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Timer timer = new Timer(); timer.scheduleAtFixedRate(new MyTask(), 1, 5000); } private class MyTask extends TimerTask{ @Override public void run() { Activity1.this.updateTitle(); } } public void updateTitle(){ setTitle("title:" + t); t ++; } }?

package cn.edu.heut.zcl; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.Bundle; import android.os.Message; import android.os.Handler; public class Activity1 extends Activity { private int t = 0; private Handler mHandler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch(msg.what){ case 1: updateTitle(); break; } } }; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Timer timer = new Timer(); timer.scheduleAtFixedRate(new MyTask(), 1, 5000); } private class MyTask extends TimerTask{ @Override public void run() { // Activity1.this.updateTitle(); Message message = new Message(); message.what = 1; mHandler.sendMessage(message); } } public void updateTitle(){ setTitle("title:" + t); t ++; } }?

该例子是对上一个例子的修改,在主线程中声明了Handler对象,该对象用来接收并且处理收到的handlerMessage消息。在子线程中声明一个Message对象,并且为这个Message对象附上信息。通过Handler来发送消息。当主线程的接收消息收到信息后,进行处理,这就相当于在主线程中处理了。也就完成了子线程对主线程的改变。

?

?

?

?

?

热点排行