안녕하세요.
인터넷을 통해서 원격에 있는 XML 데이타를 가져오는데
안드로이드 버전이 어떤 영향을 미칩니까?
문제는 해결이 됐는데 좀 황당해서 질문 올립니다.
프로젝트 생성시 안드로이드 버전은 3.0인 상황에서
-. 컴파일 에러 전혀 없습니다(버전이 안 맞는 메소드 사용하면 이클립스가 에러표시를 해 주는데 그런게 전혀 없습니다).
-. 실행시 죽는 것도 아니고요.
-. try-catch로 Exception 처리를 해서 어떤 에러 메시지도 없이 고요합니다.....
(try-catch로 Exception 처리하는 게 장점이기도 하지만 문제 발생시 정말 답답하네요...;;;)
아무리 해도 결과를 내지를 못해서......
Manifest 파일의 targetSdkVersion을 9로 설정했더니 결과가 너무 잘 나옵니다!!!
(처음에는 min 버전은 7, target은 15이었습니다)
인터넷 통해 원격의 데이타(html이든 xml이든)를 가져오는데 sdk 버전이 영향을 미친다는게
제가 안드로이드 지식이 짧아서 이게 좀 황당해서.....
이해가 안가는 건, 똑 같은 소스 코드인데 sdk 버전만 바꾸니까 그런 큰 차이를 낸다는게 이해가 잘 안갑니다.
참고로 테스트 폰은 갤2 아샌(ics)입니다.
감사합니다.
가끔은 뒤도 돌아보자... 이 만큼 왔구나...!
예 dingpong님 답글 감사합니다.
그런식으로 해결하면 되겠군요.
근데 궁금한 건 동일한 소스 코드에서 Manifest의 targetSdkVersion이 9가 넘어가니까 아예 아무런 결과도 못낸다는 겁니다.
그렇다고 무슨 에러를 띄우는 것도 아니고...
결국은 특정 sdk 버전 이상에서는 메서들 중 어떤 것들이 예외가 발생한다는 뜻입니까? 예외는 발생하는데 Exception 처리를
해서 안드로이드 시스템이 지 혼차 처리하고 말았다는 뜻입니까?
아니면 서버 쪽에서의 문제일까요?
저의 짧은 지식으로는 이해가 잘 안되고 좀 웃기는 상황 같아서요...
알게된 사항들을 적어보겠습니다.
이상하긴 하지만 현실이 그렇다고 하네요.
'안드로이드를 지배하는 통신 프로그래밍'의 저자 박헌재님의 설명을 들어보니까 XML 레이아웃이나 XML 문서에서 사용하는 요소들과 속성들이 자바 클래스와 메소드에 연결되어 있다고 합니다. 특히 ics에서는 많이 불안하다고 합니다. 젤리빈에서는 많이 안정화되었다고 하네요.
그래서 내린 결론이 일단 통신 쪽 프로그램은 api 레벨 9 이하가 가장 안정적이겠다는 것입니다.
Nullpointer Exception 에러가 sdk 버전을 9로 주니까 아무런 일 없었다는 듯이 잘만 돌아갑니다. ㅋㅋ
모르지요 젤리빈에서 돌리면 또 어떻게 될지는.....
로그로 확인할 수 없다면 브레이크 포인터 걸어서 어떤 부분에서 문제가 발생하는지 디버깅을 해보시는게 좋겠네요.