`
yuanlanjun
  • 浏览: 1187971 次
文章分类
社区版块
存档分类
最新评论

使用handler异步更新UI界面

 
阅读更多
package mars.com;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ImageView;

//使用handler异步更新UI界面
public class Demo_Handler extends Activity {
	private ImageView image;
	private int what = 0;
	private Handler handler = new Handler() {
		public void handleMessage(Message message) {
			switch (message.what) {
			case 0:
				image.setImageResource(R.drawable.run0);
				break;
			case 1:
				image.setImageResource(R.drawable.run1);
				break;
			case 2:
				image.setImageResource(R.drawable.run2);
				break;
			case 3:
				image.setImageResource(R.drawable.run3);
				break;
			case 4:
				image.setImageResource(R.drawable.run4);
				break;
			case 5:
				image.setImageResource(R.drawable.run5);
				break;
			default:
				break;
			}
			super.handleMessage(message);
		}
	};

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		image = (ImageView) findViewById(R.id.image);
		thread.start();
	}

	Thread thread = new Thread(new Runnable() {
		public void run() {
			while (true) {
				Message message = handler.obtainMessage();
				message.what = (what++) % 6;
				handler.sendMessage(message);
				try {
					Thread.sleep(2000);
				} catch (Exception e) {
				}
			}
		}
	});
}
main.xml文件我就不贴了,就一个ImageView大家估计都懂
分享到:
评论

相关推荐

    ndroid异步处理一:使用Thread+Handler实现非UI线程更新UI界面

    ndroid异步处理一:使用Thread+Handler实现非UI线程更新UI界面

    Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面

    Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面。

    Android异步更新UI-线程池-Future-Handler实例分析

    Demo-实例讲解线程池里面的UI如何刷新,处理两个开发者头疼的问题: 1. 数据经常需要读取更新,并且比较耗时,需要分步刷新UI....2. UI界面切换后,如何停止掉子线程里面正在读取的数据而不会将旧数据刷新到新UI界面上.

    深入理解Android中的Handler异步通信机制

    一、问题:在Android启动后会在新进程里创建一个主线程,也叫UI线程(非线程安全)这个线程主要负责监听屏幕点击事件与界面绘制。当Application需要进行耗时操作如网络请求等,如直接在主线程进行容易发生ANR错误。...

    Android中AsyncTask的使用com.scott.async

    Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易...

    Android-AnsyncTask异步任务的使用

    Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易...

    线程使用方法

    // (3)将下载成功的数据显示在界面UI中 // 2. 代码分析: // (1). 在onCreate里面,定义并开启一个线程. // (2). 线程方法里面执行下载数据. // (3). 定义一个异步消息,用来设置图片,原理是非主线程中不能对主线...

    Android中的多线程问题

    目录一:问题的提出二:使用Handler处理多线程问题三:使用AsyncTask...但是在Android中,只,只有主线程才可以更新主UI界面,而其子线程不能更新UI视图。那我们应该怎么办呢? 二:使用Handler处理多线程问题 Handler:

    详解Android 中AsyncTask 的使用

     Handler 实例向 UI 线程发送消息,完成界面更新,   优点:对整个过程控制的比较精细;  缺点:代码相对臃肿,多个任务同时执行时,不易对线程进行精确的控制;  AsyncTask :比Handler 更轻量级一些,适用于...

    百度地图毕业设计源码-AsyncTaskDemo:这是一个消息管理Demo,使用异步任务弹出进度条

    这个类允许执行后台操作并在UI界面上发布结果,而不必处理多线程。AsyncTask是围绕Thread和Handler设计的一个辅助类,它不构成一个通用的线程框架。Asynctasks应该用于短作业(最多几秒钟)。 说的简单一点,其实...

    总结Android中多线程更新应用的页面信息的方式

    主要介绍了总结Android中多线程更新应用的页面信息的方式,文中共总结了runOnUiThread、Handler、AsyncTask异步以及View直接在UI线程中更新的方法,需要的朋友可以参考下

    老罗android开发视频教程全集百度网盘下载

    LoaderManager异步加载、多线程(AsyncTask与Handler)、 百度地图等十五个模块,一共102集。 本网盘分享章节编号是按照视频更新的先后顺序编号的,具体学习可参考如下章节顺序: 【第一版第一章】老罗Android...

    asp.net知识库

    在ASP.NET页面中推荐使用覆写(Override)而不是事件处理(Event Handler) 常用编码工具类,支持base64,md5,des,crc32 也谈谈技术面试 在C#里把ArrayList转换为Array 或 把Array转换为ArrayList C# 2.0 在.NET 2.0中...

    jquery插件使用方法大全

    jQuery UI中包含大量预定义好的部件(widget),以及一组用于构建高级元素(例如可拖放的界面元素)的工具。 jQuery 1.2.6(2008年5月):这一版主要是将Brandon Aaron开发的流行的Dimensions插件的功能移植到了核心...

    Android 开发技巧

    Messagehandler实例 177 8、数据存储与读取 179 1. PREFERENCES 179 2. FILES 180 3. DATABASES 180 4. NETWORK 183 5、CONTENTPROVIDER 183 6、执行SQL语句进行查询 188 用法1 188 其它: 188 详解: 189 查看...

    Android开发资料合集-World版!

    Messagehandler实例 177 8、数据存储与读取 179 1. PREFERENCES 179 2. FILES 180 3. DATABASES 180 4. NETWORK 183 5、CONTENTPROVIDER 183 6、执行SQL语句进行查询 188 用法1 188 其它: 188 详解: 189 查看...

    Android学习系列教程实例.pdf

    3.2. 宫格界面 ......................................... 52 3.2.1. 示例分析: ............................ 52 3.2.2. 效果展示 ................................ 58 3.3. Tab 界面 ............................

Global site tag (gtag.js) - Google Analytics