苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper万能框架(V2.3-含.netcore) HttpHelper官方出品,无敌框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 最牛的爬虫类,没有爬不到只有想不到 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 568|回复: 3

[新手开发之旅] Android新手开发之旅-定时器Timer的用法

[复制链接]
发表于 2019-1-25 17:17:33 | 显示全部楼层 |阅读模式
本帖最后由 liu 于 2019-1-25 17:17 编辑



Android新手开发之旅目录




用法:

[Java] 纯文本查看 复制代码
 Timer timer = new Timer();
    TimerTask task = new TimerTask() {
        @Override
        public void run() {
          
        }
    };

然后开启定时器


[Java] 纯文本查看 复制代码
 //第一个参数 传入 Timer对象   第二个参数:几秒后开始执行定时器  第三个参数:每次执行时间的间隔
        timer.schedule(task, 3000, 1000);


用完记得关闭


[Java] 纯文本查看 复制代码
task.cancel();





示例代码:


activity_main.xml:
[XML] 纯文本查看 复制代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center">

    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@android:color/black"
        android:textSize="18sp" />

</LinearLayout>


MainActivity:
[Java] 纯文本查看 复制代码
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

import java.util.Timer;
import java.util.TimerTask;

public class MainActivity extends AppCompatActivity {

    private Timer timer;
    private TextView tv;
    private int i = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tv = (TextView) findViewById(R.id.tv);

        timer = new Timer();
        //第一个参数 传入 Timer对象   第二个参数:几秒后开始执行定时器  第三个参数:每次执行时间的间隔
        timer.schedule(task, 3000, 1000);
    }

    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == 1) {
                i++;
                tv.setText(String.valueOf(i));
            }
        }
    };

    TimerTask task = new TimerTask() {
        @Override
        public void run() {
            Message message = new Message();
            message.what = 1;
            handler.sendMessage(message);
        }
    };

    @Override
    protected void onDestroy() {
        super.onDestroy();
        task.cancel();
    }

}


效果如下图:

                     x.gif





发表于 2019-1-25 17:45:18 | 显示全部楼层
我只是路过打酱油的。
发表于 2019-1-25 19:31:41 | 显示全部楼层
强烈支持楼主ing……
发表于 2019-1-28 09:53:17 | 显示全部楼层
强烈支持楼主ing……
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备17001017号-1)

GMT+8, 2019-11-19 21:10

© 2017-2018

快速回复 返回顶部 返回列表