2012-05-14 2 views
0

일부 문자열을 구문 분석하는 5 줄의 간단한 Jsoup 코드가있어 원활하게 실행되어 원하는 값으로 배열 목록을 반환하지만 안드로이드 에뮬레이터와 휴대 전화에서는 오류를주지 않고도 아무 것도 반환하지 않습니다.Android와 데스크톱에서 다르게 동작하는 동일한 Jsoup 코드

전체 코드 한게 그러나 기기에서

Document doc = Jsoup.connect(myURL).get(); 
Elements els = doc.select("div font a"); 
for (int i = 3; i < els.size(); i++) { 
    latestNews.add(els.get(i).text()); 
} 

바탕 화면, 그것은 배열리스트에 요소를 추가, 아무것도 발생하지 않는다. 누구든지 그것에 대해 도움을 줄 수 있습니까?

답변

2

사이트에서 동일한 HTML을 수신 하시겠습니까? doc 변수를 디버그하고 검사하여 사이트에서 예상하는 것과 동일한 HTML을 포함하는지 확인해야합니다. 전체 사이트를 구문 분석 할 때 모바일 사이트를 잡을 수 있습니까? (Jsoup가 모바일 사이트를 얻지 못하게하는지 확실하지 않음). 웹 사이트의 전체 데스크톱 변형을 수신 할 수 있도록 사용자 에이전트를 설정해야 할 수 있습니다.

ex.

Document doc = Jsoup.connect(myURL).userAgent("Mozilla").get(); 
+0

다음은 Eclipse에서 내 안드로이드 프로젝트의 정확한 라인과 netbeans에서 간단한 프로젝트를 시도한 것입니다. 내가 디버깅하는 방법을 볼 수 없다, 그것은 구문 분석하는 동안 어떤 오류도주지 않는다. – NotCamelCase

+0

일식에서 "Document doc = Jsoup.connect (myURL) .get();"줄에 중단 점을 넣는다. Android 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 디버그를 선택한 다음 'Android 애플리케이션'을 선택하면 실행시 해당 행에서 일시 중지됩니다. "다음 단계"를 클릭하여 다음 줄로 이동하십시오. "doc"변수를 검사하십시오 (마우스로 마우스를 가져 가면됩니다). 이제는받은 HTML을 볼 수 있습니다. – dymmeh

+0

전화와 컴퓨터가 망가져 버렸기 때문에 디버깅을 할 수는 없지만 이상하게 들리겠습니다. 전 세계 문서 문자열 인 doc = ... 뒤에 문자열을 넣었습니다. 인쇄되지 않았습니다. – NotCamelCase

관련 문제