안드로이드 개발 질문/답변
(글 수 45,052)
FTP서버에 접속해서 서버에 있는 파일과 SD카드에 있는 파일을
XML파싱하여 비교하는 부분을 구현하였는데 기능은 잘 동작됩니다.
그런데 로그찍히는거보면 파싱하다가 멈출때가 종종 있습니다.
그래서 강제종료하고 다시 실행하면 원래대로 동작하는데
이런 현상이 너무 자주 나와서 FTP서버에 있는 로그를 봐보니
파일을 잘 받아올때는 코드가 226이 나와있는데
멈췄을 때 보면 425, 426 이 써있고 한참뒤에 421이라는 코드가 나오네요.
400번대의 코드가 나오는것은 서버를 사용할 수 없다는 것이라는데 잘 될때도 있고 안될 때도 있으니
왜 저런 현상이 있는지 모르겠어요.
혹시 아시는 분 있나요?
그리고 저렇게 멈췄을 때 알려주기 위해 팝업을 띄우려고 했는데 getReplyCode로 400번대의 코드를 받아오려고 했는데
로그에 찍히길래 가능할 줄 알았는데 서버가 닫혀서 그런지 멈춘다음부터는 코드도 못받아오고
타이머로 시간체크해서 일정시간 이상 지나면 알려주려고해도 멈춰버리면 이것도 소용이 없더라구요.
다른 가능한 방법이 있을 까요?
제발 답변 좀 부탁드립니다.




주제넘은 조언일지도 모르겠지만, 스레드는 새로 생성해서, 실행시켜주신건 맞는거죠?
안드로이드에서 인터넷을 활용하는 부분들은 비동기적으로 처리되야 한다고 생각됩니다.
스레드 형성 실행. 핸들러로 결과 전송 -> 전송된 결과를 가지고, Activity의 핸들러에서 처리.
감이 안오신다면 '제리코 HTML 파싱' 예제를 한번 다운받아서 돌려보세요.
그러면, 기술적인 해결책이 대강 떠오르실 것입니다.