2014-01-24 25 views
0

我試圖從Google Places API獲取數據。然而,我的代碼中的問題是,我根本沒有從http客戶端獲取任何數據。無法嘗試使用httpget檢索Google API數據

我看到在文本框中沒有(這應該得到來自谷歌API的響應)

的Java文件代碼:

public class Httpexample extends Activity implements OnClickListener{ 

TextView tv_ResponseAPI; 
Button btn_GetResponse; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.api_example); 



    tv_ResponseAPI = (TextView) findViewById(R.id.tv_ResponseAPI); 
    btn_GetResponse = (Button) findViewById(R.id.btn_GetResponse); 
     btn_GetResponse.setOnClickListener(this); 

    Log.v("Http", "entered the onCreate function"); 

} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 

    switch (v.getId()) { 
    case R.id.btn_GetResponse: 
     Log.v("Http", "Button was clicked"); 

     //tv_ResponseAPI.setText("Button was clicked"); 
     getInternetdata();   
     break; 

    default: 
     break; 
    } 

} 

public void getInternetdata() { 

    Log.v("Http", "Entered getInternetData()"); 
    try { 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpGet httpget = new HttpGet("https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=my_api_here"); 
     HttpResponse response = httpclient.execute(httpget);  
     HttpEntity entity = response.getEntity(); 
     InputStream webs = entity.getContent(); 

     try { 
      BufferedReader reader = new BufferedReader(new InputStreamReader(webs, "iso-8859-1"), 8); 

      tv_ResponseAPI.setText(reader.readLine()); 
      webs.close(); 

     } catch(Exception e) { 
      Log.e("log_tab", "Error Converting Result :" + e.toString()); 
     } 
    } catch (Exception e) { 
     Log.e("log_tab", "Error in http connection :" + e.toString()); 
    }  
} 


} 

即使我的API密鑰(我已籤)或者有什麼搞砸了,我應該得到一個像下面這樣的JSON格式的響應吧?我什麼都沒得到。放置斷點和調試,程序凍結,並在'響應'語句之前不做任何事情。

在HTTPGET的URL( 「...」)是這裏的例子:https://developers.google.com/places/documentation/search

{ 
"html_attributions": [], 
"results": [], 
"status": "REQUEST_DENIED" 
} 
+0

什麼也得不到=>意味着有可能會出現一些問題,請檢查你的'logcat' –

+0

我能使用AsyncTask解決該問題。由於我的API級別> 3.0,我認爲我需要使用它。 – user1406716

回答

相關問題