在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. 2.3.1 Android(安卓)Studio使用记录——1.下载安装,相关配置
  2. Android中处理崩溃异常
  3. android handler和AsyncTask用法
  4. Android(安卓)SDK三种更新失败及其解决办法
  5. Android(安卓)扩展屏幕 实现主屏副屏同步或者异步显示
  6. Android06_Android中常用控件
  7. Android的线程Handler实现
  8. Android应用程序组件Content Provider的共享数据更新通知机制分
  9. 【Android-View】基于原生View的简单功能定制

随机推荐

  1. 读取Activity/Processes的PID(Android)
  2. Eclipse 默认打开Android xml 布局
  3. Cocos2dx发布Android包,配置开发环境(菜鸟
  4. 转- ADB(Android Debug Bridge)技术实现
  5. Android(安卓)ndk入门准备--hello jni
  6. TAG解决错误:Error:No resource identifie
  7. ubuntu android studio ndk 配置
  8. android-获取手机电话的状态
  9. Android导入源码
  10. 调用Android系统设置中的Intent