今天讲一下,在Android中主线程如何向子线程中发送消息的问题。
或许回想无非就是创建一个Handler对象,然后一个线程发消息,另一个接收消息嘛……
原理确实是这样,但是我们平时,是从子线程向主线程发消息,而主线程默认已经帮我们完成了Looper的操作,所以我们只需要简单的“创建一个Handler对象,然后一个线程发消息,另一个接收消息”……
我们先说一下这个Looper是神马吧。...
分类:
移动开发 时间:
2015-03-14 16:56:14
阅读次数:
12948
一. Looper1. 如何使用Looper?(1) 定义一个LooperThread.class LooperThread extends Thread { public Handler mHandler; public void run() { Looper.prepare(); // 调用.....
分类:
其他好文 时间:
2015-03-14 16:34:25
阅读次数:
132
Handler主要是主线程和子线程通信。一般子线程中做一些耗时操作做完之后通知主线程来修改UI。
实际上android系统在Activity启动或者状态变化等都是通过Handler机制实现的。
首先进入到ActivityThread的main方法中
public static void main(String[] args) {
……
Looper.pre...
分类:
移动开发 时间:
2015-03-14 08:28:31
阅读次数:
156
摘自http://www.cnblogs.com/plokmju/p/android_handler.html注意:对于UI组件,不能再其他线程内操作它(如调用它的方法) 比如 Button bt1=(Button)findViewById(R.id.start); ...
分类:
移动开发 时间:
2015-03-14 00:58:24
阅读次数:
165
转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空)
一、Android的事件处理
Android事件处理包括两个部分:Android事件处理机制(基本)和Android消息传递机制(进阶)。前者包含三种处理方式,即基于监听的事件处理、基于回调的事件处理、直接绑定到标签;后者包含两种处理方式,即Handler消息传递、异步任务处理。
...
分类:
移动开发 时间:
2015-03-13 20:46:34
阅读次数:
515
由于Android平台不允许Activity新启动的线程访问该Activity里的界面控件,这样就会导致新启动的线程无法动态改变界面控件的属性值。但在实际Android应用开发中,尤其是涉及动画的游戏开发中,需要让新启动的线程周期性地改变界面控件的属性值,这就需要借助Handler的消息传递机制实现。
一、Handler类简介
1.功能
Handler类主要有两个作用
(1...
分类:
移动开发 时间:
2015-03-13 20:44:12
阅读次数:
209
1 AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:l 简单,快捷l 过程可控使用的...
分类:
移动开发 时间:
2015-03-13 20:40:03
阅读次数:
790
最近一直在做即时通讯,刚开始遇到一个问题,log打印出来的就是android.os.NetworkOnMainThreadException,大概的意思就是在主线程操作网络,以前都没注意过这个问题,也是第一次遇到!以前都是用AsyncTask,简单,快捷,还可以直接操作UI,我就是一个找虐的人,这次偏不这么做了,直接用handler,于是乎就遇到了这个问题.
Android 4.0以后不允许网络...
分类:
移动开发 时间:
2015-03-13 16:44:06
阅读次数:
131
在Android系统中的应用程序,与Java的应用程序相同,都是靠消息驱动,简单的说就是:有一个消息队列,我们可以不断的向这个消息队列中添加消息,并从中取出消息,处理消息。Android中与此工作相关的主要是由Handler,Looper以及Message来完成。
Looper类:为一个线程运行着一个消息循环,内部有一个消息队列,每一个线程只允许最多存在一个Looper;
Handler类:允许你向...
分类:
移动开发 时间:
2015-03-13 16:30:39
阅读次数:
208
function forIn(obj, handler) { for (var i in obj) { if (obj.hasOwnProperty(i)) { handler(i, obj[i...
分类:
Web程序 时间:
2015-03-13 10:41:06
阅读次数:
110