在Android和SWT一样,他们的主线程为UI线程,如果要更新必须进行特殊的处理才可以。本文的目的通过线程定时更新界面的标题信息变化。

代码如下:

package com.easyway.android.threads;import java.util.Timer;import java.util.TimerTask;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;/** * UI Thread 界面的更新方式 *  Android Handler的使用,在讲Handler之前,我们先提个小问题,就是如何让程序5秒钟更新一下Title. *  * @author longgangbai * */public class UIThreadAndroidActivity extends Activity {           //title为setTitle方法提供变量,这里为了方便我设置成了int型      private int title = 0;      @Override    public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.main);          Timer timer = new Timer();          timer.scheduleAtFixedRate(new MyTask(), 1, 5000);      }      /**     * UI更新方法     */    private Handler mHandler = new Handler(){          public void handleMessage(Message msg) {              switch (msg.what) {              case 1:                  updateTitle();                  break;              }          };      };      /**     * 更新界面的线程     * @author longgangbai     *     */    private class MyTask extends TimerTask{          @Override          public void run() {              Message message = new Message();              message.what = 1;              //调用更新方法            mHandler.sendMessage(message);          }         }      /**     * 具体更新界面的方式     */    public void updateTitle(){          setTitle("Welcome to longgangbai's blog " + title);          title ++;      }  }  

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.easyway.android.threads"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk android:minSdkVersion="14" />    <application        android:icon="@drawable/ic_launcher"        android:label="@string/app_name" >        <activity            android:label="@string/app_name"            android:name=".UIThreadAndroidActivity" >            <intent-filter >                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>

更多相关文章

  1. 通过超链接打开一些常见app(android:scheme运用)
  2. Android06_Android中常用控件
  3. android那点事
  4. Android(安卓)Studio编译release版本
  5. android 中的 Handler Thread Runnable 的理解
  6. Android的用户界面
  7. android蓝牙开发————实现服务端客户端通信
  8. Android实现widget定时更新
  9. 新手android 开发 错误集锦(持续更新中)

随机推荐

  1. stagefright架构
  2. SPB Shell 3D:打造最酷3D效果的Android界
  3. 使用NDK编译CMU Sphinx
  4. Android(安卓)Settings 导入eclipse(含有
  5. [Android] FileInputStream跟踪
  6. Android AOSP基础(四)Source Insight和Andr
  7. android handler 多线程demo
  8. Android 逆向apk程序的心得
  9. Android(安卓)dialog 去除虚拟按键的解决
  10. 在Android(安卓)NDK下打印log