第一种:使用Handler获取

protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        time= (TextView) findViewById(R.id.time);        new TimeHandler().start();//        getTime()//第二种方法    }    class TimeHandler extends Thread{        @Override        public void run() {            super.run();            do{                try {                    Thread.sleep(1000);                    Message message=new Message();                    message.arg1=5;                    handler.sendMessage(message);                }                catch (Exception e){                }            }while (true);        }    }    private Handler handler=new Handler(){        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            switch (msg.what) {                case 1:                    long sysTime = System.currentTimeMillis();                    CharSequence sysTimeStr = DateFormat.format("hh:mm:ss", sysTime);                    time.setText(sysTimeStr); //更新时间                    break;                default:                   break;            }        }    };    /**     * 第二种方式 使用Handler     *     */    private Handler handlers=new Handler();    private void getTime(){        Timer timer=new Timer();        TimerTask timerTask=new TimerTask() {            @Override            public void run() {                SimpleDateFormat format=new SimpleDateFormat("HH:mm");                final String times=format.format(new Date());                handler.post(new Runnable() {                    @Override                    public void run() {                        time.setText(times);                    }                });            }        };        timer.schedule(timerTask,0,1000);    }

第二种:使用服务

 public IBinder onBind(Intent intent) {        return null;    }    @Override    public void onCreate() {        super.onCreate();        init();        //每隔一秒发送一次广播        timer.schedule(new TimerTask() {            @Override            public void run() {                sendTimeChangedBroadcast();            }        },1000,1000);    }    private void init() {        timer=new Timer();        sdf = new SimpleDateFormat("yyyy年MM月dd日 "+"hh:mm:ss");        timeIntent = new Intent();        bundle = new Bundle();    }    /**     * 发送广播,通知UI层时间已改变     */    private void sendTimeChangedBroadcast(){        bundle.putString("time", getTime());        timeIntent.putExtras(bundle);        timeIntent.setAction(TimeServiceActivity.TIME_CHANGED_ACTION);        //发送广播,通知UI层时间改变了        sendBroadcast(timeIntent);    }    /**     * 获取最新系统时间     * @return     */    private String getTime(){        return sdf.format(new Date());    }

Demo下载

更多相关文章

  1. Android(安卓)jetpack Room数据库(一)基本使用
  2. android mapview
  3. android 应用选择器的使用
  4. android 中获取屏幕大小
  5. RemoteViews使用setImageResource出错
  6. 箭头函数的基础使用
  7. NPM 和webpack 的基础使用
  8. Python list sort方法的具体使用
  9. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程

随机推荐

  1. androidの获取android手机信息
  2. android 中查看当前是否联网
  3. Android(安卓)Service
  4. android adb端口被占用解决方案
  5. Android最简单的使用数组的适配器Adapter
  6. android 获取 imei号码
  7. Android(安卓)Gradle Plugin指南(三)——依
  8. Android数据库组件Room
  9. android githubf地址
  10. 屏蔽应用报错弹框和无响应弹框