handlerjava的简单介绍

博主:adminadmin 2022-11-30 12:46:06 49

今天给各位分享handlerjava的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

安卓开发,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和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。