handlerjava的简单介绍
今天给各位分享handlerjava的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、安卓开发,java线程报错的问题,handler空指针
- 2、android代码 java代码。 Handler Post与线程Thread问题
- 3、java 中为什么要引入handler这种设计方法?
安卓开发,java线程报错的问题,handler空指针
抛空指针是应该的 因为mhandler在指向new Handler之前是指向null的
onCreate方法优先执行了 所以抛出空指针
把代码改成:
public class MainActivity extends Activity {
private Handler mhandler = new Handler(){
public void handleMessage(Message msg){
System.out.println("收到");
}
};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(){
public void run() {
while(true){
try {
mhandler.sendEmptyMessage(0);
sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
}
}
android代码 java代码。 Handler Post与线程Thread问题
首先你要明白,handler具体有什么用。hander的具体作用是:主要接受子线程发送的数据, 并用此数据配合主线程更新UI。因为在安卓中所有的耗时操作都不应该放在主线程中来执行,不然有可能会造成主线程的阻塞,所以一般都是新开一个线程。而线程之间是如何通信的呢。用的就是handler,它是用来线程间通信的,这点你需要搞明白。
而Looper的作用是从消息列表中不断的去取出消息来执行,一个消息队列就必定会有一个looper。
而你的这串代码中,没有涉及的更改UI,也没有涉及到线程间的消息传输,所以肯定用不到handler。
希望在学习安卓的时候,先把概念搞清楚,不然你会学习的很累。我也是做安卓的开发,也是自学的。有需要可以继续提问,知无不言言无不尽。纯手打,望采纳。
java 中为什么要引入handler这种设计方法?
代码的目的是满足需求,操作方便自然就写了,无论handler还是controller,都是为了实现需求,但当出现大量handler的时候,说明这个程序员啥都不懂,连命名都不会了,命名成XXService、XXDao等,至少从代码上可以看出层次看出功能,便于后期维护
如果这是项目经理写的,只能说明他画虎不成反类犬,很不可取,千万别跟他学
关于handlerjava和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。