2014-04-02 1 views
0

이전에는 assets 폴더의 XML 파일을 사용했습니다. 앱이 그것을 아주 잘 읽을 수 있습니다. 다음 단계는이 XML을 웹 서버에 넣기를 원한다. 그러나이 단계에서 앱은 데이터를 인식 할 수 없습니다. 며칠 내게 혼란 스러웠다.URL에서 XML을 가져 오려고 시도합니다.

AssetManager asset = getAssets(); 
InputStream input = asset.open("student.xml"); 
List<Student> list = ParserByPULL.getStudents(input); 

자산 폴더의 파일이면 모두 잘 작동합니다. 그런 다음 URL에서 가져 오려고했습니다.

String path = "http://fthgyj.tup632.cnaaa11.com/student.xml"; 
URL url = new URL(path); 
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
conn.setConnectTimeout(5000); 
conn.setRequestMethod("GET"); 
InputStream input = url.openConnection().getInputStream(); 
List<Student> list = ParserByPULL.getStudents(input); 

매니페스트 파일에 인터넷 연결 권한을 추가했습니다. 누구나 이것에 대해 생각하고 있습니까?

+0

그럼 뭐가 잘못 됐어? 예외가 생겼습니까, 아니면 그냥 빈 응답입니까? – vilpe89

+0

NetworkOnMainThreadException 아마도? – laalto

+0

문제의 정확한 증상을 알려주십시오. 우리를 추측하게 만드는 것은 좋지 않습니다. 게다가 당신의 대답을 얻지 못할 것입니다. – kiruwka

답변

0

나는 당신이 가져온 XML을 가지고 있는지 확인 후

conn.connect(); 
InputStream input = conn.getInputStream(); 

를 호출 할 필요가 있다고 생각 :

BufferedReader reader = new BufferedReader(new InputStreamReader(input)); 
StringBuilder builder = new StringBuilder(); 
String line; 

while ((line = reader.readLine()) != null) { 
    builder.append(line); 
} 
reader.close(); 
Log.d("tag", "output: " + builder.toString()); 
+0

나는 그것을 시도했지만 여전히 작동하지 않습니다. 어쨌든, 고맙습니다. – user3421634

+0

그리고 입력 스트림에서 아무 것도 얻지 못하셨습니까? 업데이트 된 답변 확인 – vilpe89