在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. Android 修改app图标和名称的方法
  2. 【Android】adapter has changed解决方法
  3. android中控件点击两次才响应onclick方法
  4. android彻底结束进程的两种方法
  5. android和html交互--动态注入方法
  6. Android方法数超出限定的问题(multiDex,jumboMode)
  7. Android原生方法和Web JS互相调用-两种写法
  8. android 访问网络不能在主线程中进行以及在线程中操作UI的解决方

随机推荐

  1. Android用户界面 UI组件--自动提示输入框
  2. android 在新建短信时,加入名称为","(英文
  3. Android(安卓)Studio2.0 教程从入门到精
  4. Android调用系统短信功能发送短信
  5. android通过耳机控制音乐播放器
  6. Android(安卓)View获取焦点
  7. React Native调用Android原生组件
  8. App启动时,白屏和黑屏闪现的问题
  9. Android(安卓)项目规范
  10. Android之SharedPreferences详解