2017-01-22 12 views
0

私はMovieDB APIを使用するアンドロイドアプリを作っています。 AsyncTaskを拡張しているクラスの部分を見てください。MovieDB apiコールがIOEXceptionをスローする

private HttpURLConnection urlconnection = null; 
    private URL url; 

    protected String doInBackground(String[] task) 
    { 
     String DATA=null; 
     String baseAddress="https://api.themoviedb.org/3/movie/"; 
     String apiKey="225b36fd29826b4c9821dd90bfc4e055"; 
     Uri Url = Uri.parse(baseAddress).buildUpon().appendEncodedPath(task[0]).appendQueryParameter("api_key",apiKey).build(); 
     Log.d("built URL",Url.toString()); 
     try 
     { 
      url= new URL(Url.toString()); 
      urlconnection= (HttpURLConnection) url.openConnection(); 
      urlconnection.setRequestMethod("GET"); 
      urlconnection.connect(); 

      InputStream inputStream = urlconnection.getInputStream(); 
      if (inputStream==null) 
      { 
       return null; 
      } 
      BufferedReader reader= new BufferedReader(new InputStreamReader(inputStream)); 
      StringBuffer buffer=null; 
      String line; 

      while ((line=reader.readLine())!=null) 
      { 
       buffer.append(line+'\n'); 
      } 
      DATA=buffer.toString(); 

     } 

IOExceptionが発生しました(logcatに表示されています)。私はブラウザ上でビルドされたURLをチェックしました(それは動作していました)。同じ構文のセットがopenweather apiで動作しました。 themovieDb APIに必要なことは他にありますか?私がそれを解決するのを助けてください。私はそこにドキュメントをチェックしましたが、アンドロイドのための情報がありませんでした。

+0

あなたは例外を投稿します。 – Januson

+0

@Janusonちょうどこの "E/cloudConnect:エラー" – lcukerd

+0

Log.d( "ビルドURL"、Url.toString());印刷していますか? – jonhid

答えて

0

私は解決策を得ました。私は何らかの理由で予想通りに動かないモバイルホットスポットに接続していました。私の家のWIFIに切り替えて問題を解決しました。 私の質問に時間をくれてありがとう