android中执行(定时任务)的方法及6位随机码的产生

 

在网上看了很多类似的文章,比较乱,自己总结了一下,在开发中,常见的执行定时任务的方法有以下几种,

很简单的描述,有什么不懂可以留言,下面来介绍一下这几种常见的方法:

 

1.直接在线程中睡觉的方法,这个比较常见,操作也方便

 

class MThread implements Runnable {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            try {
                do {

                    Thread.sleep(1000);
                    count -= 1;
                    if (count == 0) {
                        // time=Calendar.getInstance().getTimeInMillis()/1000+myDb.getDiffTime();
                        count = 30;
                    }
                    pb.setProgress(count);
                    Message msg = new Message();
                    msg.what = 1111;
                    mHandler.sendMessage(msg);
                } while (!Thread.interrupted());

            } catch (Exception e) {
                e.printStackTrace();
            }

        }
    }

 

2.直接使用SystemClock.sleep(1000);进行睡眠,需要注意的是这个会阻塞主线程

 

SystemClock.sleep(1000);

 

3.直接使用TimerTask进行定时

 

这个方法也经常使用,比如开启的splash页面中,常用timertask进行时间以及动画的过渡。

Timer timer = new Timer();
        TimerTask MyTask = new TimerTask() {
            @Override
            public void run() {
                
            }
        };

timer.schedule(MyTask, 1000);

 

 

4.常用的随机码生成,举个6位数生成的例子吧,这个是生成6位随机数

 

int numcode = (int) ((Math.random() * 9 + 1) * 100000);
    String smstext = "你本次生成的6位安全验证码为:" + numcode;
posted @ 2013-10-24 09:16  Andye  阅读(6515)  评论(0编辑  收藏  举报