首页前端开发HTML多线程handler的使用――3秒钟更换一次标题

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

时间2024-01-25 11:46:13发布访客分类HTML浏览142
导读:收集整理的这篇文章主要介绍了html5教程-多线程handler的使用――3秒钟更换一次标题,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。 对于多...
收集整理的这篇文章主要介绍了html5教程-多线程handler的使用――3秒钟更换一次标题,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。 对于多线程我们已经有了些许认识,现在就对其进一步的学习应用吧。

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

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

(1)Runnable:

[htML]  

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;  

            }  

  

        }  

    } ;  

  

    @override  

    public 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 {  

  

        @Override  

        public void run() {  

  

            while (true) {  

                Message message = new Message();  

                message.what = 1;  

                handler.sendMessage(message);  

                try {  

                    Thread.sleep(3000);  

                } catch (InterruptedException e) {  

                    e.printStackTrace();  

                }  

            }  

  

        }  

    }  

  

    @Override  

    public boolean onCreateOptionsMenu(Menu menu) {  

        getMenuInflater().inflate(R.menu.activity_main, menu);  

        return true;  

    }  

  

}  

 

(2)Timer:

[html] 

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() {  

              

            @Override  

            public 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;  

    }  

  

      

}  

 

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

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

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

(1)Runnable:

[html]  

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;  

            }  

  

        }  

    } ;  

  

    @Override  

    public 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 {  

  

        @Override  

        public void run() {  

  

            while (true) {  

                Message message = new Message();  

                message.what = 1;  

                handler.sendMessage(message);  

                try {  

                    Thread.sleep(3000);  

                } catch (InterruptedException e) {  

                    e.printStackTrace();  

                }  

            }  

  

        }  

    }  

  

    @Override  

    public boolean onCreateOptionsMenu(Menu menu) {  

        getMenuInflater().inflate(R.menu.activity_main, menu);  

        return true;  

    }  

  

}  

 

(2)Timer:

[html] 

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() {  

              

            @Override  

            public 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;  

    }  

  

      

}  

 

觉得可用,就经常来吧! 欢迎评论哦! html5教程,巧夺天工,精雕玉琢。小宝典献丑了!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

ClassdivHTMLletpost-format-galleryState

若转载请注明出处: 多线程handler的使用――3秒钟更换一次标题
本文地址: https://pptw.com/jishu/586479.html
无刷新分页前端代码 万能对象拷贝工具 支持不同数据类型

游客 回复需填写必要信息