在Android中有一个名为AnalogClock Widget的时钟对象。此次练习准备在屏幕上方放置模拟时钟,在下方用TextView来模拟电子时钟,将AnalogClock的时间以数字钟形式显示。该练习的难点是:android.os.Handler、java.lang.Thread以及android.os.Message三对象的整合应用,通过产生Thread对象,在进程内同步调用System.currentTimeMillis() 取得系统时间,并通过Message对象来通知Handler对象,Handler则扮演联系Activity与Thread之间的桥梁,在收到Message对象后,将时间变量的值显示于TextView中,产生数字时钟的外观与功能。

  第1步:编写布局文件main.xml,分别添加一个AnalogClock、一个DigitalClock和一个TextView,以实现整体布局。

  第2步:模拟时钟的实现不需要额外代码,只需要在UI中添加即可,其自动显示时间。

  具体代码如下所示:

  第3步:数字时钟的实现也不需要额外代码,只需要在UI中添加即可,其自动显示时间。具体代码如下所示:

  使用线程实现的TextView时钟则需要线程Thread、Handler(发送、处理消息)辅助实现。具体代码如下所示:

  第4步:实现最终的主程序shizhong.java,因为要另外加载Java的Calendar与Thread对象,所以需要在onCreate() 中构造Handler与Thread两对象,并实现handelMessage()与 run()两个方法。主要实现代码如下所示:

  程序执行后会显示一个时钟效果,如图6-7所示。


更多相关文章

  1. Android(安卓)Handler
  2. Android(安卓)aidl Binder框架浅析
  3. Android(安卓)Volley完全解析(二),使用Volley加载网络图片
  4. Android(安卓)Studio 第五十五期 - Studio3.0升级到gradle3.0.0
  5. Message Android的享元模式
  6. JAVA与Android(安卓)世界级序列化危机与应对方案
  7. Android(安卓)toast的获取
  8. activity和service之间的相互通信方法
  9. 为什么选择Android(安卓)Studio 而不再固守 Eclipse?

随机推荐

  1. Android(安卓)RecyclerView+StaggeredGrid
  2. android 实现全屏代码
  3. android学习-组件中的layout-weight属性
  4. android小项目打地鼠(五)
  5. 【Android】桌面歌词悬浮效果简单实现
  6. Android-动态注册广播和注销广播
  7. Android_API_临时翻译
  8. 精品网站集合
  9. android - JNI接口函数 (1)
  10. 【Android】 分享一个完整的项目,适合新手