文档章节

Android中的 Thread + Handler 线程简单应用范例

飞雪无措
 飞雪无措
发布于 2015/02/28 00:30
字数 258
阅读 52
收藏 1

Therad + Handler 的简单实现:

  1. 首先创建一个 Handler 并用handleMessage 来捕获线程的发送消息,加入消息处理代码。

  2. 创建一个 ProgressDialog 并显示出来

  3. 创建一个Therad,并在结束时发送 sendMessage 通知 Handler,并通过 Message 对象传递内容。

  4. 关闭 ProgressDialog 。

关键代码如下:

//创建 handler 捕获线程发送的消息
final Handler handler = new Handler(){
    public void handleMessage(Message msg){
        //消息处理代码
        TextView textView1 = (TextView)findViewById(R.id.hello);
        textView1.setText( msg.obj + "您已经登录!");
        
    }
};

//登录开始,开启m_Dialog对话框
m_Dialog = ProgressDialog.show(
    Activity01.this,
    "请等待...",
    "正在为你登录...",
    true
);

//创建一个线程 (延迟3秒 线程结束)
new Thread() {
    public void run() {
        try {
            sleep(3000);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
        
            //创建 Message对象
            Message msg = new Message();
            msg.obj = "张尼玛";
            
            //向handler发送消息
            handler.sendMessage(msg);

            //登录结束,取消m_Dialog对话框
            m_Dialog.dismiss();
        }
    }
}.start();




© 著作权归作者所有

共有 人打赏支持
飞雪无措
粉丝 2
博文 8
码字总数 908
作品 0
长沙
技术主管
转载:android Handler详细使用方法实例

本文主要介绍Android中Handler的简单使用方法,Handler跟多线程,消息队列联系很紧密,在平常的实际程序开发中比较常见。本文分为4个简单的例子来学校handler 开发环境为android4.1. Handler...

beijing_zbs
2014/10/04
0
0
Android 异步加载解决方案

Android的Lazy Load主要体现在网络数据(图片)异步加载、数据库查询、复杂业务逻辑处理以及费时任务操作导致的异步处理等方面。在介绍Android开发过程中,异步处理这个常见的技术问题之前,...

Pandora
2012/08/14
0
1
Android的进程,线程模型

Android进程模型: 在安装Android应用程序的时候,Android会为每个程序分配一个Linux用户ID,并设置相应的权限,这样其它应用程序就不能访问此应用程序所拥有的数据和资源了。 在Linux中,一...

Jerikc
2013/03/12
0
0
子线程调用Toast报Can't create handler inside ~~~ 错误

今天用子线程调Toast报了一个Can't create handler inside thread that has not calledLooper.prepare()错误。在网上找了找答案,发现两篇文章: 【1】http://czhjchina.blog.163.com/blog/...

今日竹石
2014/04/04
0
3
对Android Handler Message Looper常见用法,知识点的一些总结

Android 非UI线程中是不能更新UI的,Handler是Android 提供的一套更新UI的机制,也是用来发送消息和处理消息的一套机制。 以前刚接触的Handler的时候,感觉总是很困惑,对Handler原理也是一知...

猴亮屏
06/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
今天
6
0
Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
今天
2
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
14
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
5
0
Redis性能问题排查解决手册

一、性能相关的数据指标 通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。 nfo命令输出的数据可...

IT--小哥
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部