마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

파싱 소스인데 이런방법이 있나요?

0 추천

 

아래 스샷은 제가 받아온 파싱 방법인데 리스트뷰의 항목을 클릭하면

파싱이 다 되서 갱신이 완료될 때 까지 정지해있다가 

새로운 화면을 뿌려주게 됩니다.

 

 

제가 해온 방법은 그렇지 않습니다.

파싱이 안되었는데도 그냥 바로 진행이 되버립니다. 제 소스에 무엇을 추가해야 할까요?

END_DOCUMENT 이런 것을 추가해줘야 할까요?

 

선배님들 감사합니다.

Goni2 (770 포인트) 님이 2015년 4월 8일 질문
execute 새로운 쓰레드를 돌리는거기 떄문에 반환값을 받는 형식으로 코딩하면 안됩니다.

listener인터페이스로 onPostExecute에서 리스너로 반환하는 형식이 되던가 되야지 저런식으로 하면

execute에서 쓰레드 스타트하고 아래 코드들 전부 타버리게 됩니다.

1개의 답변

0 추천
 
채택된 답변
위의 방법은 while문에서 파싱이 끝날 때까지 돌기 때문에 화면 갱신이 파싱 완료 후에 되는 방식으로 보입니다.

아래 방식은 그냥 HTTP응답이 OK(200)이면 응답을 읽고 파싱해서 문자열 비교해서 처리하도록 되어 있는데, 파싱이 제대로 되지 않았는데 그 이하로 진행되었다면 파싱 부분(JSONParser.getDeviceTableParser)이 의심되네요

메소드 형태만 봐서는 파싱이 완료되고나서 문자열을 돌려줄 것 같은데, 실제 동작은 그렇지 않은가 봅니다.

그 부분을 확인해 보세요
cc1232 (35,280 포인트) 님이 2015년 4월 9일 답변
Goni2님이 2015년 4월 14일 채택됨
...