javahandler(java handler使用)

http://www.itjxue.com  2023-03-19 01:13  来源:未知  点击次数: 

java程序报错如下:

数组越界了for(inti=0;ia[i+1]){当i=6的时候,a[i+1]就是a[7],最多只有a[0]到a[6]

java 中为什么要引入handler这种设计方法?

代码的目的是满足需求,操作方便自然就写了,无论handler还是controller,都是为了实现需求,但当出现大量handler的时候,说明这个程序员啥都不懂,连命名都不会了,命名成XXService、XXDao等,至少从代码上可以看出层次看出功能,便于后期维护

如果这是项目经理写的,只能说明他画虎不成反类犬,很不可取,千万别跟他学

android代码 java代码。 Handler Post与线程Thread问题

首先你要明白,handler具体有什么用。hander的具体作用是:主要接受子线程发送的数据, 并用此数据配合主线程更新UI。因为在安卓中所有的耗时操作都不应该放在主线程中来执行,不然有可能会造成主线程的阻塞,所以一般都是新开一个线程。而线程之间是如何通信的呢。用的就是handler,它是用来线程间通信的,这点你需要搞明白。

而Looper的作用是从消息列表中不断的去取出消息来执行,一个消息队列就必定会有一个looper。

而你的这串代码中,没有涉及的更改UI,也没有涉及到线程间的消息传输,所以肯定用不到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();

}

}

(责任编辑:IT教学网)

更多