안드로이드 개발 질문/답변
(글 수 45,052)
지금 상태가 서버에서 값을 가져오려고 하고있는데
서버에 값을 요청하면 Thread가 돌아가면서 서버정보를 읽어온후 sendmessage로 핸들러를 호출하고 있습니다.
그리고 핸들러가 호출되면 그 안에서 서버에 있는 값을 파싱해서 스태틱 변수에 값을 초기화 시켜주고 있습니다.
근데 문제는 자바에서 서버에서 값을 요청하고 그뒤에 스태틱변수의 값을 쓰려고하는데 쓰레드 속도가 느려서
스태틱변수에는 null값이 되어있고 그게 다음 진행순서로 넘어가면서 null 포인터 에러가 뜨고 있습니다.
이 문제를 어떻게 해결해야 될까요?
1줄 요약
서버에서 값 가져오는데 쓰레드가 너무느려서 값을 초기화 하기전에 진행되어 널포인트 에러가 뜸!
2012.05.11 12:39:26
무슨말인지 모르겠네요.
쓰레드에서 파싱을 해서 static에 값을 저장하고 난 다음에 다음진행을 하면 되는거 아닌가요?
파싱되는 도중에 static 값이 안들어왔는데 다음 진행을 해버리면 당연히 안되겠지요ㅎㅎ
쓰레드는 원래 느린작업을 하기위해 할당하는 거기때무에 당연히 느린게 정상입니다ㅎ
쓰레드 끝날때까지 기다렸다가 진행하세요ㅎㅎ
thred.join이나 쓰레드내에서 순차적으로 호출해주면 되겠죠
2012.05.11 14:14:15
thread 수행하고 완료되었을때 데이터를 가공해야 하는것같은데여 아마 그게 지금 안되는게 아닐까 합니다.
스태틱 변수에 값을 초기화 <------ 이작업을 할때 서버에서 데이터를 가져왔다는 확실한 보장이 안된듯 보임니다만 ...^^;;




static 이 어떻게 null 이 자동으로 되죠?
걔는 힙 메모리 공간에 올라가는거라 강제로 GC 안 시켜주면 앱 활성화되는 동안은 계속 남아있을텐데...