Android 实时更新系统时间

272 阅读1分钟

1、实时获取系统时间 在activity里 设置handler方法获取系统时间 format("年/月/日 时:分:秒")如下:

private Handler mHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        switch (msg.what) {
            case 1:
                sysTime = System.currentTimeMillis();
                sysTimeStr = DateFormat.format("yyyy/MM/dd/ HH:mm:ss", sysTime);
                sysTimeStr_near_h = DateFormat.format("HH", sysTime);
                sysTimeStr_near_m = DateFormat.format("mm", sysTime);
                sysTimeStr_near_s = DateFormat.format("ss", sysTime);
                mTvRestSettingUpdateTime.setText("" + sysTimeStr); //更新时间
                Log.i(TAG, "时间: 时++"+ sysTimeStr_near_h +"++分++"+sysTimeStr_near_m+"++秒++"+sysTimeStr_near_s);
                break;
            case 2:
                break;
        }
    }
};

设置子线程方法循环发送请求

class TimeThread extends Thread {
    @Override
    public void run() {
        do {
            try {
                Thread.sleep(1000);
                Message msg = new Message();
                msg.what = 1;  //消息(一个整型值)
                mHandler.sendMessage(msg);// 每隔1秒发送一个msg给mHandler
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        } while (true);
    }
}

最后再onCreate中启动

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_rest_setting);
    initView();
    new TimeThread().start(); //启动新的线程
}