做一个简单的关于Handler,Looper,Message的小演示,代码主界面一个Button按钮,点击发送消息(累计)给线程的Looper循环,然后在LogCat中打印出来:
package zhangphil.looper;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
imp...
分类:
移动开发 时间:
2015-02-19 09:38:25
阅读次数:
187
原文地址:http://www.cnblogs.com/codingmyworld/archive/2011/09/12/2174255.html#!comments作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量...
分类:
移动开发 时间:
2015-02-16 11:37:42
阅读次数:
150
分析完上面那篇文章,基本理解了handler的实现原理,乘热打铁,这里我们利用handler原理,在子线程中创建一个handler和looper可能很多面试时候问道,子线程中能不能new一个handler ?答案是可以的,但是因为主线程系统默认在ActivityThread中已将帮我们创建好一个lo...
分类:
编程语言 时间:
2015-02-14 12:13:55
阅读次数:
195
这个问题正常和老版本有关,老版本老出现这问题
如果你是老版本就这样写下就好了
new Thread(){public void run() {
Looper.prepare();
beginConnect();//从服务端获取消息
Looper.loop();
};}.start();
如果不是2.几的版本,那就是下面的问题了。
...
分类:
编程语言 时间:
2015-02-13 13:26:17
阅读次数:
162
1、基础概念 1)android.os.Handler? 2)主要接受子线程发送的数据, 并用此数据配合主线程更新UI.? 3)应用程序一旦启动,Android UI 这个主线程的生命周期就开始了,然而,Android UI 线程并不是线程安全的,也...
分类:
移动开发 时间:
2015-02-12 16:32:56
阅读次数:
134
在android系统中,message常在多线程之间信息交流中用到,通过Handler来传递线程间的消息(message).今天讨论的是android中的message特性:对象池.
其实每一个Handler都是需要一个Looper的,往往我们创建一个Handler的时候其实是没有指明他的Looper,不过他会自动获取创建这个Handler的线程的Looper来作为自己的Looper,所以,在android中,往往没有指明Handler的Looper,其实就是用主线程(就是我们常说的ui线程)的Looper...
分类:
移动开发 时间:
2015-02-06 18:50:49
阅读次数:
151
1、java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
在Android中不允许Activity里新启动的线程访问该Activity里的UI组件,这样会导致新启动的线程无法改变UI组件的属性值。
出现java.lang.RuntimeExcepti...
分类:
移动开发 时间:
2015-02-05 15:04:44
阅读次数:
145
package com.example.looper;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.view.View;
import and...
分类:
其他好文 时间:
2015-01-30 22:41:09
阅读次数:
213
package com.example.looper;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.view.View;
import and...
分类:
编程语言 时间:
2015-01-30 22:38:54
阅读次数:
206
方法一:(java习惯,在android不推荐使用)刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题new Thread( new Runnable() { public void run() { myView.invalid...
分类:
移动开发 时间:
2015-01-30 21:00:27
阅读次数:
172