首页 > 安全资讯 >

android 定时器的使用

13-12-11

1、在网络开发,我们经常会遇到连接网络的情况,在获取数据时我们一般会采用一个进度条的方式来提醒用户当前程序正在执行获取数据,但是,在网络连接失败的情况下,我们不能一直让进度条在界面上显示,应该在一定

1、在网络开发,我们经常会遇到连接网络的情况,在获取数据时我们一般会采用一个进度条的方式来提醒用户当前程序正在执行获取数据,但是,在网络连接失败的情况下,我们不能一直让进度条在界面上显示,应该在一定时间内提醒用户检查网络,此时就应该让进度条不显示,下面是一个简单的Demo,仅供参考


    private Timer mTimer = new Timer();
    private int count = 1;

    private void startTimer() {
        mTimer.schedule(new TimerTask() {

            @Override
            public void run() {
                Message msg = new Message();
                if (count <= 5) {
                    msg.what = 2;

                    myHandler.sendMessage(msg);// 向Handler发送消息
                } else {
                    msg.what = 3;
                    myHandler.sendMessage(msg);// 向Handler发送消息停止继续执行
                }
                count++;
            }
        }, 3000, 3000);
    }

schedule() 方法中的第二个参数代表延迟多长时间开始显示,第三个参数代表每隔多长时间刷新一次(单位为毫秒)。

2、当时程序在五次连接失败之后自动消失滚动条,并且提示用户当前网络出现故障
    private Handler myHandler = new Handler() {
        public void handleMessage(android.os.Message msg) {
            switch (msg.what) {
            case 1:
                break;
            case 2:
                progress.setVisibility(View.VISIBLE);
                android.util.Log.d("mark", "2");
                break;
            case 3:
                android.util.Log.d("mark", "3");
                progress.setVisibility(View.GONE);
                mTimer.cancel();//
                mTimer = null;
                break;
            default:
                break;
            }
        };
    };


相关文章
最新文章
热点推荐