【】
package com.ray.test;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
public class TestHandler extends Activity {
private MyView myView;
private Handler mHandler;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myView = new MyView(this);
mHandler = new Handler();
mHandler.post(update);
setContentView(myView);
}
private Runnable update = new Runnable() {
public void run() {
myView.update();
mHandler.postDelayed(update, 5);
}
};
class MyView extends View{
private float x = 0f;
public MyView(Context context) {
super(context);
}
public void update(){
postInvalidate();
}
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
x+=1;
Paint mPaint = new Paint();
mPaint.setColor(Color.BLUE);
canvas.drawRect(x, 40, x+40, 80, mPaint);
}
}
}
分享到:
相关推荐
在Android开发中,`Handler`是一个至关重要的组件,它用于在主线程中处理来自其他线程的消息,确保UI更新和事件处理的同步性。本文将详细介绍`Handler`的几种常见写法,以及如何使用`Handler.Callback`进行消息处理...
Handler 主要有以下几个特点: 1. 每个 Handler 实例都与其创建时的线程绑定,通常为 UI 线程。 2. Handler 可以用来安排消息或 Runnable 在主线程中执行,或者在不同线程中安排动作。 3. 提供了多种方法来分发消息...
Handler 的使用方法可以分为以下几个步骤: 1. 新建一个 Android 应用程序 2. 在布局文件中添加控件标签,并为其设置属性和值 3. 在 Activity 中,声明控件变量并根据 id 获得控件对象 4. 在 Activity 中,创建一个...
在这个例子中,使用`handler.sendEmptyMessage()`和`handler.obtainMessage().sendToTarget()`来发送不同的消息,通过`handleMessage()`方法来区分不同的消息并进行相应的UI更新。 #### 六、总结 通过以上分析...
在"HandlerMessage3"的源码中,可能包含以下几个部分: - 一个自定义的Handler类,重写handleMessage()方法来处理接收到的消息。 - 在子线程中创建并发送Message的代码,可能使用Runnable或者AsyncTask。 - 主线程中...
本压缩包包含了一些适合Android入门者的程序源代码,这些源码将帮助初学者深入理解Android应用程序的工作原理。 1. **基础组件与布局** Android应用由多个组件构成,如Activity(活动)、Service(服务)、...
总的来说,"Android学习不可不看的几个例子(包括游戏源码)"这个资源集合为Android开发者提供了一手的实战资料,通过学习这些源码,不仅可以掌握Android游戏开发的基本技术,还能了解到高级的设计原则和优化策略。...
在"HandlerLooperDemo"这个示例项目中,开发者可能创建了一个自定义的Handler类,定义了处理消息的逻辑。同时,可能在另一个线程中启动了Looper,并使用这个Handler发送Message。通过这种方式,开发者可以演示如何在...
在使用Handler时,有几个重要的注意事项: 1. **线程安全**:由于Handler主要在主线程(UI线程)中工作,因此确保在多线程环境下正确同步访问Handler非常重要,避免引发线程安全问题。 2. **内存泄漏**:如果...
`Handler` 的使用有以下几个关键步骤: 1. 创建`Handler` 实例,通常在主线程(UI线程)中创建。 2. 在后台线程中,创建`Message` 或`Runnable` 对象,并通过`Handler` 的`sendEmptyMessage()`, `sendMessage()`, ...
在这个主题下,我们可以探讨以下几个关键知识点: 1. **环境搭建**:开发Android应用首先需要安装Android Studio,它是Google提供的官方集成开发环境(IDE),包含了SDK Manager、AVD Manager等工具,用于下载和...
在Android系统中,`Handler`、`Looper`和`MessageQueue`是三个核心组件,它们共同构成了Android消息处理机制,使得应用程序能够实现线程间的通信和异步任务执行。这个`HandlerLooper1.rar`文件可能包含了对这些概念...
本文将深入探讨Android中的`Handler`机制及其与线程、`Looper`以及`MessageQueue`的关系,并通过具体的示例进行演示,帮助读者更好地理解这一机制。 #### 二、Handler机制的核心组件 **1. MessageQueue(消息队列...
本文将深入探讨Android中的线程模型,重点讲解Handler、Message Queue和AsyncTask,并提供修改Button样式的示例以及如何将这些概念整合到一个易用的方案中。 1. **Android线程模型** Android系统的主线程,也称为...
在Android开发中,`Handler`是一个至关重要的组件,主要用于解决线程间通信的问题,尤其是在UI线程与后台线程交互时。本示例项目"HandlerDemo"深入探讨了`Handler`的使用条件和应用场景。 首先,理解`Handler`的...
让大家好理解下handler机制:handler机制示例图上面一共出现了几种类,ActivityThread,Handler,MessageQueue,Looper,msg(Message),对这些类作简要介绍:ActivityThread:程序的启动入口,为什么要介绍这个类,...
本资料包包含了七款不同的Android应用程序源代码,这些示例涵盖了Android开发的多个重要方面。让我们逐一解析这些知识点: 1. **活动(Activity)管理**:Android应用程序的核心组件是活动,它负责用户界面和交互。...
【标题】"ShowImage_android小程序"是一个专注于在Android平台上展示图像的应用示例,它通过从SD卡读取图片文件并将其在应用程序界面中显示出来,为开发者提供了基础的图像加载和展示功能。这个Demo旨在教育开发者...
1. **活动(Activity)管理**:Android应用程序由多个活动组成,每个活动代表一个用户界面。了解如何创建、启动、跳转和管理活动生命周期至关重要。例如,学习如何正确使用`onCreate()`, `onStart()`, `onResume()`,...
在Android开发过程中,经常会遇到一个令人头疼的问题——内存泄漏,这往往会导致应用程序出现OutOfMemoryError (OOM)异常。内存泄漏的一个常见原因是Handler不当使用导致的内存泄漏。 **1.1 例子说明** 假设有一个...