package com.lilin.handler;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ImageView;
/**
* 通过Handler实现2秒自动换图
*
* @author lilin
* @date 2011-8-10 上午08:51:27
* @ClassName: Main
* @Description: TODO
*/
public class Main extends Activity {
ImageView myImageView;// ImageView的引用
public void onCreate(Bundle savedInstanceState) {// 重写的onCreate方法
super.onCreate(savedInstanceState);
setTitle("handler通信:每2秒自动换图");
setContentView(R.layout.main);// 设置当前的用户界面
System.out
.println("当前activity的ID--->" + Thread.currentThread().getId());
System.out.println("当前activity的名称--->"
+ Thread.currentThread().getName());
myImageView = (ImageView) findViewById(R.id.myImageView);
new Thread() {
public void run() {
int i = 0;
while (true) {// 循环
myHandler.sendEmptyMessage((i++) % 4);// 发送消息
System.out.println("handler的ID--->"
+ Thread.currentThread().getId());
System.out.println("handler的名称--->"
+ Thread.currentThread().getName());
try {
Thread.sleep(2000);
} catch (Exception e) {
e.printStackTrace();
}
}
};
}.start();
}
Handler myHandler = new Handler() {// 创建一个Handler对象
public void handleMessage(Message msg) {// 重写接收消息的方法
switch (msg.what) {// 判断what的值
case 0:// what值为0时
myImageView.setImageResource(R.drawable.bbta);
break;
case 1:// what值为1时
myImageView.setImageResource(R.drawable.bbtb);
break;
case 2:// what值为2时
myImageView.setImageResource(R.drawable.bbtc);
break;
case 3:// what值为3时
myImageView.setImageResource(R.drawable.bbtd);
break;
}
super.handleMessage(msg);
}
};
}
分享到:
相关推荐
**自动切换**是通过定时任务(Timer)和消息处理(Handler)实现的。这里,你可以创建一个TimerTask,每隔一段时间(如3秒)执行一个任务,这个任务会发送一个消息到Handler。Handler接收到消息后,会调用`ViewPager...
本示例中的“android demo”就是关于如何利用Handler的`postDelayed`方法和`Runnable`接口来实现一个延时3秒的Splash Screen。下面将详细解释这个过程以及涉及的技术点。 1. **Handler**: Handler是Android中处理...
本项目“ViewPager和Handler结合使用实现轮播图”就是利用这两种关键元素来创建一个自动滚动的图片展示功能,并且增加了状态指示器,即小圆点,以提示用户当前显示的是轮播图中的哪一张。 首先,我们要理解...
本教程将详细介绍如何利用ViewPager实现手动切换,并结合Timer和Handler来实现自动切换,从而创建一个平滑且无限循环的滑动效果。 首先,ViewPager的核心在于其PagerAdapter子类,如FragmentPagerAdapter或...
- **创建Handler**:首先,在主线程中创建一个`Handler`对象,这个对象会自动绑定到主线程的`Looper`。 - **发送Message**:在子线程中,通过`Handler`的`sendMessage()`或`post()`方法发送`Message`或`Runnable`...
// 3秒自动切换一次 timer.schedule(new TimerTask() { @Override public void run() { handler.post(autoSwitchTask); } }, AUTO_SWITCH_INTERVAL); ``` 最后,当需要停止自动切换时,记得取消Handler的任务...
文档详细介绍了Handler实现线程间通信过程中源码的实现机制,并对其中的Looper,MessageQueue,Message对象的初始化及sendMessage()通过sendMessageDelayed()和sendMessageAtTime()过程的操作机流程
本示例中的"Handler实现图片播放"是一个基础的实践,它利用了Android的消息处理机制来控制UI线程与后台线程之间的通信。Handler是Android中的一个关键组件,用于在不同线程间传递消息和执行任务。现在,我们详细探讨...
本教程将重点讲解如何使用Handler机制来实现在后台线程中执行任务并在主线程中更新UI。 Handler是Android中一种用于线程间通信的重要工具,它允许你在不同的线程之间发送和处理消息。Handler的运作机制基于Message...
2. **Looper**: Looper是每个线程中的消息循环,它负责从消息队列中取出消息并分发给相应的Handler进行处理。在主线程(UI线程)中,Looper已经默认初始化并开始运行,而在子线程中,我们需要手动调用`Looper....
本示例主要探讨如何使用ViewPager实现手动切换,并通过Timer和Handler实现自动切换,达到平滑的无限滚动效果。以下将详细介绍这两个核心知识点。 1. **ViewPager**:ViewPager是Android SDK中的一个控件,用于在...
这篇博客"进度条对话框:通过Handler实现"探讨了如何在Android中创建并更新一个进度条对话框,利用Handler机制来处理主线程与后台线程间的通信。 首先,ProgressDialog是Android提供的一个内置组件,它可以显示为...
本示例主要探讨如何在Android应用中利用kotlin的协程(Coroutines)和ksoap2库来实现对WebService的调用,并解决在API 30及以上版本中Handler过时的问题。 一、ksoap2库介绍 ksoap2是一个轻量级的开源库,专为...
用ViewPager实现手动切换,用Timer + Handler实现自动切换,左右完美无限滑动效果非常平滑.zip安卓程序源码用ViewPager实现手动切换,用Timer + Handler实现自动切换,左右完美无限滑动效果非常平滑.zip安卓程序源码...
为了解决这个问题,Android提供了多种异步处理机制,其中一种常见的方式是使用`Thread`配合`Handler`来实现非UI线程执行耗时任务并更新UI。本篇将详细介绍这一方法。 首先,我们需要理解Android的线程模型。Android...
在标题“用ViewPager实现手动切换,用Timer + Handler实现自动切换,左右完美无限滑动效果非常平滑”中,我们关注的是如何利用ViewPager实现手动切换,并通过Timer和Handler来自动切换页面,同时实现平滑的无限滚动...
在这个“handler实现图灵机器人-没有网络请求的版本”项目中,开发者可能已经将图灵机器人的API集成到应用中,但通过本地数据而不是实时网络请求来实现对话功能。下面我们将详细探讨`Handler`机制以及如何将其应用于...
本教程将详细讲解如何利用ViewPager实现手动切换,并结合Timer和Handler来实现自动切换,从而创建一个平滑且无限循环的滑动效果。 首先,ViewPager的基本用法是通过设置Adapter来填充数据,Adapter通常继承自...
通常,我们会发送一个延迟消息,比如每3秒自动切换到下一张图片。 5. **发送消息**:在`onCreate()`或`onResume()`方法中,启动轮播,可以通过`Handler`的`postDelayed(Runnable r, long delayMillis)`方法发送一个...
本教程将详细讲解如何使用ViewPager实现手动切换,并结合Timer与Handler来实现自动切换,达到左右无限平滑滑动的效果。 **1. ViewPager组件** ViewPager是Android SDK中的一个强大视图,主要用于展示可滑动的页面...