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

多线程handler的运用——3秒钟更换一次标题

2012-12-25 
多线程handler的使用——3秒钟更换一次标题对于多线程我们已经有了些许认识,现在就对其进一步的学习应用吧。

多线程handler的使用——3秒钟更换一次标题

对于多线程我们已经有了些许认识,现在就对其进一步的学习应用吧。

把它用在android中实现标题的更换(3秒更换一次):

只需要编写Activity实现即可,这里有两种方法,可以根据自己习惯选择使用(个人较喜欢第一种):

(1)Runnable:

public class MainActivity extends Activity {private int count = 1;private Handler handler = new Handler() {public void handleMessage(android.os.Message msg) {switch (msg.what) {case 1:updateTitle();break;default:break;}}};@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);new Thread(new TitleThread()).start();}protected void updateTitle() {setTitle("my bolg" + count++);}class TitleThread implements Runnable {@Overridepublic void run() {while (true) {Message message = new Message();message.what = 1;handler.sendMessage(message);try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}}}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.activity_main, menu);return true;}}


(2)Timer:

public class TimerActivity extends Activity {private int count=1;private Handler handler=new Handler(){public void handleMessage(android.os.Message msg){switch(msg.what){case 1:updateTitle();break;default:break;}}};    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_timer);        Timer timer=new Timer();timer.scheduleAtFixedRate(new TimerTask() {@Overridepublic void run() {Message message=new Message();message.what=1;handler.sendMessage(message);}}, 1000,3000);    }    protected void updateTitle() {setTitle("hello"+(count++));}@Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.activity_timer, menu);        return true;    }    }


是不是很简单,你喜欢哪一种呢?多线程handler的运用——3秒钟更换一次标题快试试吧!

热点排行