Android学习笔记(5)——浅谈Handler

来源:未知 责任编辑:责任编辑 发表时间:2013-12-01 14:19 点击:

这次浅谈一下Handler,为什么会出现Handler这个功能特性呢?首先,在之前的基本控件,基本都是在Activity的onCreate(Bundle savedInstanceState)方法中调用和处理的,但是,在有些情况,比如在网络上下载软件等一些需要等待响应时间比较长的操作,如果同样放在Activity的该方法中的话,那么在执行该方法的时候,整个Activity是不可动的,用户只能干等着,这样的用户体验是十分差的,这种处理方式带来的最好结果是等待了一段时间后,得到了想要的结果,不好的情况就是等了N久,也没有出现结果,有的甚至会使Activity报错,为了避免这些情况的发生,所以引入了Handler的特性,他就像是一个线程队列,它也是一种异步的消息处理。
首先我们先看一个例子,通过例子来对Handler进行认识。
布局文件中是两个按钮,分别是start和stop,分别控制线程的开始和停止。
<Button 
    android:id="@+id/start"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:text="@string/start"
/>
<Button 
    android:id="@+id/stop"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:text="@string/stop"
/>
在Activity中的代码如下:
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
 
public class HandlerDemo1Activity extends Activity {
    Button startButton = null;
    Button endButton = null;
    Handler handler = new Handler();
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        startButton = (Button)findViewById(R.id.start);
        startButton.setOnClickListener(new StartListener());
        endButton = (Button)findViewById(R.id.end);
        endButton.setOnClickListener(new EndListener());
    }
    
    class StartListener implements OnClickListener{
 
        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            handler.post(HandlerThread);
        }

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Android 完全退出程序
  • 原创:Android应用开发-Andorid歌词秀,含源码
  • android 屏幕保护
  • Android手机软件汉化教程---第四课 dex文件汉化
  • 众多Android 开源项目推荐,给力工作给力学习
  • Android Audio代码分析4
  • Android得到已安装的应用程序信息!
  • Android开发者指南(29) —— USB Host and Accessory
  • Android成长的幕后推手:工程师鲁宾
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1