`
longgangbai
  • 浏览: 7339923 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android的线程Handler实现

 
阅读更多

        在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>

 

 

分享到:
评论

相关推荐

    android 更新 UI 线程 handler

    总结来说,`android 更新 UI 线程 handler`这个知识点主要涉及如何在Android中安全地更新UI。通过Handler和Runnable的配合,我们可以确保在主线程中执行UI更新操作,从而避免阻塞用户界面,提高应用的响应速度和用户...

    android多线程handler/message机制详解

    Android 多线程Handler/Message机制详解 Android 多线程机制是 Android 应用程序中最重要的组件之一,它允许应用程序在后台执行一些操作,而不影响用户的交互体验。在 Android 中,多线程机制是基于 Handler 和 ...

    Android_Handler的线程队列Demo

    在Android应用开发中,Handler、Looper和Message是实现线程间通信的重要机制。这个"Android_Handler的线程队列Demo"旨在演示如何有效地利用Handler来处理线程间的通信,特别是主线程(UI线程)与工作线程之间的交互...

    android 线程之间通过Handler发送消息

    本文将深入探讨Android中如何通过Handler实现线程间的通信。 首先,理解Android线程模型至关重要。Android应用的主要工作线程被称为UI线程或主线程,它负责处理用户界面的更新和事件响应。后台线程通常用于执行耗时...

    android线程handler、message、looperDEMO

    `Handler`、`Message`和`Looper`是Android系统提供的一个关键机制,用于在不同的线程间进行通信,特别是主线程(UI线程)与工作线程间的交互。下面将详细解释这三个组件以及它们如何协同工作。 1. **Handler...

    Android用线程实现ImageView图片变换+可以停止和继续

    这个主题“Android用线程实现ImageView图片变换+可以停止和继续”主要关注如何利用线程技术来实现图片的动态变换,并且提供了暂停和继续的功能。这涉及到以下几个关键知识点: 1. **线程**:Android主线程(UI线程...

    【Android开发入门】Android线程之Handler

    一、Android线程基础 Android系统主要分为两个线程:主线程(UI线程)和工作线程。主线程负责处理用户界面的绘制和事件响应,而工作线程用于执行耗时操作,避免阻塞UI。由于Android系统的安全限制,直接在工作线程中...

    Android利用handler在线程之间传递代码

    总结来说,Handler机制是Android多线程编程的关键工具之一,它使得开发者能够方便地在线程间传递信息,实现异步处理,确保UI线程不被阻塞,提升用户体验。熟练掌握Handler的使用,对任何Android开发者都至关重要。

    android线程 Handler Message Queue AsyncTask线程模型 线程交互 + 修改Button样式 示例 最终easy整合版

    以上就是关于Android线程模型和线程交互的详解,包括Handler、Message Queue和AsyncTask的使用,以及修改Button样式的实例。理解并熟练运用这些技术,可以极大地提高Android应用的性能和用户体验。通过不断实践和...

    Android线程操作 handler demo

    Handler是Android中处理消息和回调的核心组件,它与Looper和Message紧密配合,实现了线程间的通信。以下是你需要了解的关键概念: 1. **主线程与工作线程**:Android应用默认有一个主线程,负责处理UI更新和用户...

    Android Handler线程间的调度

    在Android开发中,Handler、Looper和Message是实现线程间通信和调度的关键组件。这篇文章将深入探讨`Android Handler线程间的调度`这一主题,并结合标签中的"源码"和"工具"来阐述它们的工作原理。 首先,理解...

    Android----线程实现图片移动

    在Android开发中,图片动态...通过分析和学习这个示例,你可以更好地理解和掌握如何在Android中利用线程实现图片的动态效果。在实际开发中,可以根据具体需求进行调整,例如添加动画的缓动函数以实现更平滑的移动效果。

    Android中多线程的Handler原理

    Android中多线程的Handler的工作原理,其中涉及到MessageQueue和Looper。详情可以参见博客:http://www.cnblogs.com/plokmju/p/android_Looper.html

    Android_Handler详解(一)

    在Android开发中,Handler是一个至关重要的组件,它与线程、消息队列和Looper紧密关联,用于实现不同线程间的通信。本篇将深入探讨Handler的基本概念、使用方法以及其在多线程环境中的作用。 1. Handler是什么? ...

    android 多线程 looper handler

    Android 多线程 Looper Handler Android 操作系统中,多线程是一种常见的编程技术,通过使用多线程,可以提高应用程序的响应速度和效率。在 Android 中,多线程可以分为两种:有消息循环的线程和没有消息循环的线程...

    Android线程结束——合理的结束你想结束的线程

    总结,结束Android线程时,关键在于优雅、安全地中断操作,而不是简单粗暴地停止。合理的线程管理可以提升用户体验,避免ANR,并保持应用程序的稳定运行。正确使用Thread、AsyncTask、Handler和Looper等工具,结合...

    Android Handler 线程 示例代码

    在Android开发中,`Handler`、`Thread`、`Toast`、`消息队列`以及`线程`是实现UI交互和异步处理的关键概念。本文将深入探讨这些概念,并结合给定的"Android Handler 线程 示例代码"进行详细讲解。 首先,我们来看`...

Global site tag (gtag.js) - Google Analytics