2012-05-09 2 views
0

나는 안드로이드를 처음 접하기 때문에 코드에 대한 이해는 매우 제한적이다. 인터넷에서 API를 통해 XML 데이터를 반환하려고합니다. 나는 이것에 관해 여러 enteries를 읽었지만 아무도 작동하지 않는 것처럼 보입니다. 그리고 그들은 코드에 대한 설명을 거의 제공하지 않습니다. 그래서 나는 그것을 너무 많이 변경할 수 없습니다.http : //www.google.com/xml 데이터를 반환하는 안드로이드,

아무도 내가 잘못 가고있는 부분을 설명하고 변경할 필요가있는 것에 대한 지침을 줄 수 있습니까?

건배들

package com.example.testingXML; 

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.net.URI; 
import java.net.URISyntaxException; 

import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpGet; 
import org.apache.http.entity.BufferedHttpEntity; 
import org.apache.http.impl.client.DefaultHttpClient; 

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 

public class Main extends Activity { 
    /** Called when the activity is first created. */ 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    try { 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpGet httpget = new HttpGet(); 
     httpget.setURI(new URI("http://api.inapub.co.uk/venues/postcode/bn23fe/1/?API_Key=7xa3tdmjkhu6jwjvp746zgg4")); 


     HttpResponse response = httpclient.execute(httpget); 
     HttpEntity ht = response.getEntity(); 

     BufferedHttpEntity buf = new BufferedHttpEntity(ht); 

     InputStream is = buf.getContent(); 

     BufferedReader r = new BufferedReader(new InputStreamReader(is)); 

     StringBuilder total = new StringBuilder(); 
     String line; 
     String NL = System.getProperty("line.separator"); 
     while((line = r.readLine()) != null){ 
     total.append(line + NL); 
     } 

     r.close(); 
     String page = r.toString(); 

    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } catch (URISyntaxException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    } 
} 
+0

당신이 총 반응을 얻고있다을 사용하고 있는지 응용 프로그램이 요청 인터넷 권한

<uses-permission android:name="android.permission.INTERNET" /> 

3)이 작업을 수행하는 가장 쉬운 방법을 확인? log.v ("testest", total); api에 대한 응답을 얻는 지 확인하십시오. –

답변