`
gintama
  • 浏览: 51634 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Handler的使用一

 
阅读更多
//activity里面不能做耗时比较长的操作、不仅会导致runtimeException、
//还会造成比较差的用户体验、需要把处理大量数据的操作放在单独的线程完成、
  
package com.ck;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;

public class HandlerDemoActivity extends Activity {
	
	private Button start,stop;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        findViewByIds();
        start.setOnClickListener(new startOnClickListener());
        stop.setOnClickListener(new stopOnClickListener());
    }
    
    class startOnClickListener implements android.view.View.OnClickListener{

		public void onClick(View v) {
                           //线程对象加入到执行队列
			handler.post(runnable);
		}
    }
    
    class stopOnClickListener implements android.view.View.OnClickListener{

		public void onClick(View v) {
			handler.removeCallbacks(runnable);
		}
    }
    
    Handler handler = new Handler();
    Runnable runnable = new Runnable(){
		public void run() {
//这里加入要做的操作
			System.out.println("updateThread...");
			handler.postDelayed(runnable, 3000);
		}
    };
    
    void findViewByIds(){
    	start = (Button)findViewById(R.id.start);
    	stop = (Button)findViewById(R.id.stop);
    }
}
分享到:
评论

相关推荐

    Handler使用

    在Android开发中,`Handler`是一个至关重要的组件,主要用于解决线程间的通信问题,尤其是在UI线程和其他工作线程之间。本篇文章将深入探讨`Handler`的使用方法,包括其基本概念、工作原理以及如何避免内存泄露和...

    安卓handler的使用

    在Android应用开发中,Handler是一种重要的线程通信机制,它与Looper、Message紧密配合,用于在不同的线程间传递消息,解决多线程同步问题。本篇将详细讲解Handler的使用,包括如何创建Handler对象、如何发送和处理...

    Handler的介绍和使用方法

    以下是一个简单的`Handler`使用示例: ```java public class MainActivity extends AppCompatActivity { private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { ...

    Fragment与Activity使用Handler进行交互

    1. **创建Handler实例**:在Activity中创建一个Handler实例,并重写handleMessage()方法。这个方法会在主线程中执行,因此适合用来更新UI。例如: ```java public class MainActivity extends AppCompatActivity { ...

    android中Handler的使用方法和总结

    1. Handler 是一种异步消息处理机制 2. Handler 可以将耗时的操作异步处理 3. Handler 可以用于异步处理网络请求的结果 4. Handler 可以用于异步处理数据库的读写操作 5. Handler 可以提高应用程序的性能和用户体验 ...

    Android中handler的使用

    匿名内部类直接在需要使用Handler的地方创建,而静态内部类则需要实现一个静态的成员变量来保存Handler的引用,以避免内存泄漏。 2. **发送消息**: 使用`sendMessage()`或`post()`方法向MessageQueue中添加消息。...

    Handler使用相关的三个实例

    我们可以在一个线程中创建Handler对象,然后在另一个线程中通过`Handler.sendMessage(Message)`方法发送消息。Message对象包含我们要传递的数据和处理消息的方法(由`what`标识)。当Message到达Handler时,会根据`...

    Handler的简单使用

    本篇文章将详细介绍`Handler`的基本概念、工作原理以及如何在一个`Activity`中简单使用它来实现动画效果。 `Handler`的核心功能是发送和处理消息。在Android系统中,主线程负责处理用户交互,如显示界面、更新UI等...

    Handler与AsyncTask使用示例

    `Handler`通常与`Looper`配合使用,创建一个消息循环,使得`Handler`能够接收到并处理来自其他线程的消息。`Handler`的工作原理是,当创建一个`Handler`对象时,它会与当前线程的`Looper`关联,然后可以发送`Message...

    测试Thread中使用Handler修改

    1. **创建Handler实例**:首先,在主线程中创建一个`Handler`实例,这个`Handler`会与主线程的`Looper`关联。 ```java Handler handler = new Handler() { @Override public void handleMessage(Message msg) { ...

    Handler的使用

    在这个子线程里,我们可以使用`Handler`的`sendMessage()`或`postDelayed()`方法发送一个包含进度信息的消息。消息对象`Message`通常会携带一个回调函数,这个函数会在主线程中执行,因此可以安全地更新UI。 以下是...

    handler使用例子(博客示例代码)

    本文将深入解析`Handler`的使用,以及结合`Thread`实现异步操作的具体示例。 首先,`Handler`是Android消息处理系统的核心组件,它主要用于发送和处理消息。`Handler`对象通常在主线程中创建,这样它可以处理与UI...

    安卓关于handler的使用

    在Android开发中,`Handler`、`Looper`和`Message`是实现线程间通信的重要...在提供的文件`thread_test1`中,可能包含了具体的`Handler`使用示例代码,你可以参考这些代码进一步理解`Handler`的工作原理和使用方法。

    android-Handler的使用

    1. 每个 Handler 实例都与其创建时的线程绑定,通常为 UI 线程。 2. Handler 可以用来安排消息或 Runnable 在主线程中执行,或者在不同线程中安排动作。 3. 提供了多种方法来分发消息,包括 `post()`, `postAtTime()...

    handler简单使用

    在Android开发中,Handler是一种非常重要的机制,它与线程通信密切相关,用于处理来自其他线程的消息。本篇文章将深入探讨Handler的简单使用方法,并解释其背后的原理。 首先,我们来理解Handler的基本概念。...

    一个activity中多个handler和消息的处理过程

    如果需要在工作线程中使用Handler,我们需要手动调用Looper.prepare()和Looper.loop()来启动一个Looper。 消息的生命周期始于Message的创建,通常使用Handler的obtainMessage()方法,或者直接new一个Message实例。...

    android中的handler的使用方法

    1. **创建Handler** 创建Handler通常需要重写`handleMessage(Message msg)`方法,这里会定义处理消息的逻辑。有两种创建方式: - 直接构造Handler,关联到当前线程的Looper。 - 通过`Looper.prepare()`和`Looper....

    android 中Handler 的几种写法

    1. **基本Handler使用** 基本的`Handler`使用通常涉及到创建`Handler`对象,然后在后台线程中通过`Looper`和`Message`与之交互。以下是一个简单的例子: ```java // 在主线程中创建Handler Handler mHandler = ...

    android demo,使用Handler的postDelay,Runnable run实现延时3秒的splash。

    1. **Handler**: Handler是Android中处理消息和调度任务的重要组件。它可以在Android主线程中执行任务,避免了在其他线程中更新UI的操作导致的线程安全问题。Handler主要有两个核心方法:`sendMessage`和`...

    Android_Handler详解(一)

    - **发送消息**:在另一个线程中,创建一个Message对象,并使用Handler的sendMessage()或sendEmptyMessage()方法将其发送出去。 ```java Message msg = new Message(); msg.what = 1; // 可以设置一个标识符来区分...

Global site tag (gtag.js) - Google Analytics