第一种:使用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. 【HR小时制】如何获取Android系统时间的小时制
  2. android添加通知到顶部任务栏
  3. Android时间选择器
  4. Android ble setCharactersticNotification() 依然无法收到通知
  5. Android时间倒计时的简单实线
  6. android时间控件DatePicker使用实例
  7. Android通知工具类,含8.0通知适配,打开通知设置页面适配
  8. Android 时间、日期处理 DateUtils、SystemClock、DateFormat

随机推荐

  1. Android 内存优化,如何避免OOM
  2. Android(安卓)Power Management
  3. android之单元测试――上
  4. android 页面初始化时让组件得不到焦点
  5. android与H5混合开发
  6. [置顶] Unity与Android交互-android的安
  7. 浙大网新仿真实训android培训好不好
  8. simpleLib - android 快速开发框架
  9. Android系统移植与调试之------->Android
  10. 学生怎么入门Android?这四点很重要!