2011-12-24 18 views
0

私はAndroidアプリケーションにデータを提供するURLを持っています。私はチュートリアルから学び、いくつかのコードを書いています。これは、他のURLのために完璧に動作しますが、この1JSONレスポンスを取得できません

http://acolyteserv.appspot.com/Products/getProductMatchedList/?format=json&p0=galaxy&p1=4&p2=all 

コードは次のとおりです。私はこのURLトーストを使用した場合、結果は私に空の文字列を与える

private void testere() 
{ 
    InputStream is = null; 
    String result; 
    try{ 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost("http://acolyteserv.appspot.com/Products/getProductMatchedList/?format=json&p0=galaxy&p1=4&p2=all"); 
     HttpResponse response = httpclient.execute(httppost); 
     HttpEntity entity = response.getEntity(); 
     is = entity.getContent(); 


     try{ 
      BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 

      StringBuilder sb = new StringBuilder(); 
      String line = null; 

      while ((line = reader.readLine()) != null) { 
        sb.append(line + "\n"); 

      } 

      is.close(); 
      result=sb.toString(); 


      Toast t=Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG); 
      t.show(); 
    }catch(Exception e){ 
      Log.e("log_tag", "Error converting result "+e.toString()); 
    } 

    } 
    catch(Exception e){ 
     Log.e("log_tag", "Error in http connection "+e.toString()); 
    } 


} 

が、私は、例えば、URLなどを使用している場合

http://api.geonames.org/earthquakesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&username=demo 

私がここで間違っていることを教えてください。私はJSONとウェブサービスの世界全体に慣れています。

答えて

1

HttpEntityにリクエストパラメータを追加します。代わりにHttpGetを使用してください。

+0

それを指摘してくれてありがとう!愚かな間違い、そのうまく動作します。それを変更しました。私は実際に私が使用していないことを知っていたので、私が削除したパラメータを持っていた例を実際に使用しました。 –

1

あなたはHttpPostを使用していますが、要求を受け取ったエンティティは送信していません。

代わりにHttpGetをお試しください。あなたのURLの中のものの名前などを考えれば、私はGETがあなたが実際に望むものだと思っています。

+0

ありがとうございました。 –

関連する問題