2011-07-06 7 views
0

私はAndroidとJavaの世界ではかなり新しいです。私はここでどのようにWeb APIからデータを取得するのだろうかと思っていますhttp://www.imdbapi.com/ Intro android。 JSONまたはXMLを使用する必要がありますか? 手順は何ですか?まず、データをダウンロードする方法と、それを変数に解析する方法を知りたい。 サンプルコードはありますか?解析用としてJSON、XMLはAndroid用Web APIに接続していますか?

答えて

0
HttpClient httpclient = new DefaultHttpClient(); 
    // Prepare a request object 
    HttpGet httpget = new HttpGet(url); 
    // Execute the request 
    HttpResponse response; 

    JSONArray arr = new JSONArray(); 
    try { 
     response = httpclient.execute(httpget); 

     HttpEntity entity = response.getEntity(); 

     if (entity != null && response.getStatusLine().getStatusCode() == 200) { 
       // A Simple JSON Response Read 
       InputStream instream = entity.getContent(); 
       String result = convertStreamToString(instream); 
       arr=new JSONArray(result); 
       instream.close(); 

      } 
     } catch (ClientProtocolException e) { 
      // TODO Auto-generated catch block 
      Log.e(TAG,e.toString()); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      Log.e(TAG,e.toString()); 
     } catch (JSONException e) { 
      // TODO Auto-generated catch block 
      Log.e(TAG,e.toString()); 
     } 

     return arr; 


public static String convertStreamToString(InputStream is) { 
    BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 
    StringBuilder sb = new StringBuilder(); 

    String line = null; 
    try { 
     while ((line = reader.readLine()) != null) { 
      sb.append(line + "\n"); 
     } 
    } catch (IOException e) { 
     Log.e(TAG + "ERROR",e.toString()); 

    } finally { 
     try { 
      is.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
      Log.e(TAG + "ERRO",e.toString()); 
     } 
    } 
    return sb.toString(); 
} 

、ここに行く:http://developer.android.com/reference/org/json/package-summary.html

ところで、これはすべて簡単にGoogleで発見された。)

+0

はJavaでJSONを解析するので、簡単でしたか分からない:O –

+0

この実行14 sdk版で? 2.3.3で実行したい場合はどうすればいいですか?代わりにjsonの代わりにこれらのパラメータを取得する方法は? –

+0

このコードはアンドロイドスタジオのTAGでエラーをスローします。 'TAG 'は' android.support.v4.app.Fragment''のプライベートアクセスを持っています – Shivam

関連する問題