Android定时器操作 Timmer

public class TimerDeal
{
   
    private TimerTask task;
   
    private int ADVERT_INDEX;
    private int ADVERT_INTERVAL_TIME = 5000;
    private int ADVERT_INDEX_ZERO = 0;
    private final int ADVERT_INDEX_ONE = 1;
    private final int ADVERT_INDEX_TWO = 2;
    private final int ADVERT_INDEX_THREE = 3;
    private final int ADVERT_INDEX_FOUR= 4;
    private final int ADVERT_INDEX_FIVE = 5;
   
    private Context myContext;
   
    private static final Timer timer = new Timer();
   
    private ToastDeal deal = new ToastDeal();
   
    private Advert advert;
   
    public TimerDeal(Context context)
    {
        this.ADVERT_INDEX = ADVERT_INDEX_ZERO;
        this.myContext = context;
        advert = new Advert(myContext);
    }
   
    /**
     * 定时切换/隐藏固定显示地域的图片或者格式
     *
     * @param
     * @return void
     * @throws
     * @since TianTian
     */
    public void changeImgByTime()
    {
        this.task = new TimerTask()
        {
            @Override
            public void run()
            {
                Message message = new Message();
                message.what = 1;
                handler.sendMessage(message);
            }
        };
       
        /*
         * 时间控制
         */
        timer.schedule(task, 1, ADVERT_INTERVAL_TIME);
    }
   
    /*
     * 定时器动作处理
     */
    private Handler handler = new Handler()
    {
        @Override
        public void handleMessage(Message msg)
        {
           
            /*
             * 要做的事情
             */
            ADVERT_INDEX++;
            if (ADVERT_INDEX > ADVERT_INDEX_FIVE)
            {
                ADVERT_INDEX = ADVERT_INDEX_ZERO;
            }
            else
            {
                switch (ADVERT_INDEX)
                {
                    case ADVERT_INDEX_ONE:
                       
                        advert.createView(R.drawable.index_banner2);
                       
                        break;
                       
                    case ADVERT_INDEX_TWO:
                       
                        advert.createView(R.drawable.index_banner);
                       
                        break;
                       
                    case ADVERT_INDEX_THREE:
                       
                        advert.createView(R.drawable.index_banner2);
                       
                        break;
                       
                    case ADVERT_INDEX_FOUR:
                       
                        advert.createView(R.drawable.index_banner);
                       
                        break;
                       
                    case ADVERT_INDEX_FIVE:
                       
                        try
                        {
                            Thread.sleep(12000);
                        }
                        catch (InterruptedException e)
                        {
                            e.printStackTrace();
                        }
                       
                        break;
                       
                    default:
                       
                        advert.createView(R.drawable.index_banner);
                       
                        break;
                }
            }
            super.handleMessage(msg);
        }
    };
   
    /**
     * 定时器销毁
     */
    public void onDestroy()
    {
        if (null != timer)
        {
            timer.cancel();
        }
    }
   
}

你可能感兴趣的:(Timmer)