안드로이드 개발 질문/답변
(글 수 45,052)
초보개발자 입니다.
메인액티비티에는 아래와 같이 쓰레드가 선언되어 있습니다.
class textThread extends Thread{
Handler mHandler;
Test_Service wd;
textThread(Handler handler){
mHandler = handler;
}
public void run(){
while(true){
if(wd.word.obj.toString() != null){
mHandler.sendMessage(wd.word);
}
}
}
}
Handler mHandler;
Test_Service wd;
textThread(Handler handler){
mHandler = handler;
}
public void run(){
while(true){
if(wd.word.obj.toString() != null){
mHandler.sendMessage(wd.word);
}
}
}
}
보시면 알겠지만 run에서 service에 있는 message 인스턴스 wd를 감시하여 wd에 데이터가 존재하게되면 핸들러로 메세지를 보내서
textview에 내용을 담게 하고 싶은데요...문제는 if(wd.word.obj.toString() != null) 이부분에서 java.lang.NullPointerException에러가 발생하네요...
꼭좀 답변해주셨으면 좋겠습니다...ㅜㅜ




위 소스만 놓고 보면 wd가 null일 것 같습니다. 바인딩 서비스 객체를 통해서 값을 받아서 처리하는 게 맞을 것 같습니다.
AIDL을 이용하거나 IBinder를 구현한 클래스를 통해서 서비스안에 있는 데이터를 가져오도록 수정하는 게 좋을 것 같습니다.