加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 教程 > 正文

借助Handler定时更新Android UI

发布时间:2021-11-21 19:43:23 所属栏目:教程 来源:互联网
导读:在 Android 里定时更新 UI,通常使用的是 java.util.Timer, java.util.TimerTask, android.os.Handler 组合,这里有相关的讨论。但实际上 Handler 自身已经提供了定时的功能。 参考 android.os.Handler 的文档 引用 There are two main uses for a Handler:

在 Android 里定时更新 UI,通常使用的是 java.util.Timer, java.util.TimerTask, android.os.Handler 组合,这里有相关的讨论。但实际上 Handler 自身已经提供了定时的功能。
 
参考 android.os.Handler 的文档
 
引用
 
 
There are two main uses for a Handler: (1) to schedule messages and runnables to be executed as some point in the future; and (2) to enqueue an action to be performed on a different thread than your own.
 
Scheduling messages is accomplished with the post(Runnable), postAtTime(Runnable, long), postDelayed(Runnable, long), sendEmptyMessage(int), sendMessage(Message), sendMessageAtTime(Message, long), and sendMessageDelayed(Message, long) methods. The post versions allow you to enqueue Runnable objects to be called by the message queue when they are received; the sendMessage versions allow you to enqueue a Message object containing a bundle of data that will be processed by the Handler's handleMessage(Message) method (requiring that you implement a subclass of Handler).
 
 
When posting or sending to a Handler, you can either allow the item to be processed as soon as the message queue is ready to do so, or specify a delay before it gets processed or absolute time for it to be processed. The latter two allow you to implement timeouts, ticks, and other timing-based behavior。
 
下面是一个简单的计数器程序,每隔一秒递增计数器
 
 
 
代码
 
main.xml
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <TextView android:id="@+id/counter" android:layout_width="fill_parent"
  android:layout_height="wrap_content" android:text="Count: 0" />
 <LinearLayout android:orientation="horizontal"
  android:layout_width="fill_parent" android:layout_height="wrap_content">
  <Button android:text="start" android:id="@+id/Button01"
   android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0"></Button>
  <Button android:text="stop" android:id="@+id/Button02"
   android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" android:enabled="false"></Button>
  <Button android:text="reset" android:id="@+id/Button03"
   android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0"></Button>
 </LinearLayout>
</LinearLayout>

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读