2017-09-01 3 views
0

を実行されていない:も、私はそうのようなコマンドを実行しています

new GetGameScoresFromFuhantikAPI() 

そして、このための私の方法がある - >

private class GetGameScoresFromFuhantikAPI extends AsyncTask<Void, Void, Void> { 
     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      MethodContants.showLog(TAG, "Loading FUHNATIK API", true); 

     } 

     @Override 
     protected Void doInBackground(Void... arg0) { 
      HttpHandler sh = new HttpHandler(); 
      // Making a request to url and getting response 


      String url = API_URL + jsonFile; 
//    String url = "http://www.nfl.com/liveupdate/game-center/" + list.get(i) + "/" + list.get(i) + "_gtd.json"; 
      String jsonStr = sh.makeServiceCall(url); 

      Log.e(TAG, "Response from FUHNATIK API: " + url); 
      if (jsonStr != null) { 
       try { 

        //JSONObject object = new JSONObject(json); 
        JSONObject object = new JSONObject(jsonStr); 

        currentWeek = object.getString("pypwk"); 
        currentWeekDB = object.getString("mdb"); 
        JSONArray array = (JSONArray) object.get("g"); 

        scheduleModelList = new ArrayList<>(); 

        for (int i = 0; i < array.length(); i++) { 
         //TODO IF WE DONT PLAY THURSDAY GAMES PUT LIST.ADD IN HERE 

//    if (!array.getJSONObject(i).getString("-d").equals("Thu")){ 
// 
//    } 

         scheduleModelList.add(new ScheduleModel(array.getJSONObject(i).getString("-v"), 
           array.getJSONObject(i).getString("-h"), 
           array.getJSONObject(i).getString("-t"), 
           array.getJSONObject(i).getString("-d"), 
           array.getJSONObject(i).getString("-eid").substring(0, 8), 
           array.getJSONObject(i).getString("-t") + array.getJSONObject(i).getString("-q"), 
           array.getJSONObject(i).getString("-vnn"), 
           array.getJSONObject(i).getString("-hnn"), 
           "...select a team...", 
           array.getJSONObject(i).getString("-eid"), 
           array.getJSONObject(i).getString("-vs"), 
           array.getJSONObject(i).getString("-hs"), 
           array.getJSONObject(i).getString("-w"))); 



        } 


       } catch (final JSONException e) { 
        Log.e(TAG, "FUHNATIK API: Json parsing error: " + e.getMessage()); 
       } 
      } else { 



       getActivity().runOnUiThread(new Runnable() { 
        @Override 
        public void run() { 
         Log.e(TAG, "FUHNATIK API: Couldn't get json from server."); 
         Toast.makeText(getContext(), "Getting from ESPN", Toast.LENGTH_SHORT).show(); 
         //new GetGameScoresFromESPN().execute(); 
        } 
       }); 
      } 

      return null; 
     } 

     @Override 
     protected void onPostExecute(Void result) { 
      super.onPostExecute(result); 
      final ListViewAdapterResults adapter = new ListViewAdapterResults(listView.getContext(), scheduleModelList); 
      listView.setAdapter(adapter); 
      MethodContants.showLog(TAG, "DONE WITH LOADING FUHNATIK API", false); 
     } 
    } 

私は数字に見えることはできませんコードが決して動かない理由を説明してください。私はデバッガを走らせましたが、どこが失敗しているのかを正確に突き止めることはできません。これについての助けに感謝します。

最終的にjsonファイルがこのURLにない場合、私はNFLからjsonを取得します。しかし、この作業がなければ、ESPNはうまく動作せず、エラーがどこに来るのか分かりません。私はこれがかなり簡単な修正であると仮定しなければならない。

また、前にも述べたように、どんなヘルプも非常に高く評価されます。

+1

'新しいGetGameScoresFromFuhantikAPIを()')(実行? –

+1

asynctaskを実行しましたか? – barotia

答えて

2

上記のコード行ではクラスを呼び出していますが、asynctaskの実行を忘れてしまっています。したがって、Overridenメソッドは呼び出されません。あなたが引数として何かを渡したい場合は、

new GetGameScoresFromFuhantikAPI().execute(); 

このような昏睡で区切られたパラメータ与える:これを試してみてください。

new GetGameScoresFromFuhantikAPI().execute(arg0, arg1); 
関連する問題