2015-07-13 6 views
-1

Я пытаюсь сделать вызов веб-службы через android button click. Мне удалось исправить ошибки, но он показывает некоторые ошибки при получении ответа. Я получаю ответ от null. Ниже мой код. Может ли кто-то отладить меня, пожалуйста.! Заранее спасибо.Вызов метода на кнопке андроида нажмите

Мой код:

refresh_btn.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      HttpHandler httpHandler1 = new HttpHandler(); 
      String res = null; 
      String authToken = "MlSyULrWlFgVk28"; 

      try { 

       Log.d("edwLog", TAG + " get_payment_notifications " + HttpHandler.API_URL + "get_payment_notifications/" + authToken + "/"); 
       res = httpHandler1.makeServiceCall(HttpHandler.API_URL + "get_payment_notifications/" + authToken + "/", HttpHandler.GET); 
       Log.d("edwLog", TAG + " response > " + res); 
       if (res != null) { 
        JSONObject jsonObject = new JSONObject(res); 
        String responseType = jsonObject.getString("type"); 
        if (responseType.equals("success")) { 
         if (jsonObject.has("response")) { 

          JSONArray jsonArray = jsonObject.getJSONArray("response"); 
          for (int i = 0; i < jsonArray.length(); i++) { 
           notifications.add(jsonArray.getJSONObject(i)); 
          } 
         } 
        } 
       } 

      } catch (Exception e) { 
       e.printStackTrace(); 
       Log.d("edwLog", TAG + " IOException > " + e.toString()); 
      } 
     } 
    }); 
+1

Где logcat log? –

+0

Что это точно? : 'final Bundle result = new Bundle(); return result; 'result NOTHING! –

+0

Да, это то, что я поразил Skizo .. – sam

ответ

0

Нашел ошибку ..! Ошибка была в том, что я передал AuthToken в качестве строки по умолчанию. Теперь я объявил его «нулевым» в окончательном, т. Е. Перед onCreate и удалил его изнутри ClickEvent. И это сделано .. Правильный код ниже ..

refresh_btn.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      HttpHandler httpHandler1 = new HttpHandler(); 
      String res = null; 


      try { 

       Log.d("edwLog", TAG + " get_payment_notifications " + HttpHandler.API_URL + "get_payment_notifications/" + AuthToken + "/"); 
       res = httpHandler1.makeServiceCall(HttpHandler.API_URL + "get_payment_notifications/" + AuthToken + "/", HttpHandler.GET); 
       Log.d("edwLog", TAG + " response > " + res); 
       if (res != null) { 
        JSONObject jsonObject = new JSONObject(res); 
        String responseType = jsonObject.getString("type"); 
        if (responseType.equals("success")) { 
         if (jsonObject.has("response")) { 

          JSONArray jsonArray = jsonObject.getJSONArray("response"); 
          for (int i = 0; i < jsonArray.length(); i++) { 
           notifications.add(jsonArray.getJSONObject(i)); 
          } 
         } 
        } 
       } 

      } catch (Exception e) { 
       e.printStackTrace(); 
       Log.d("edwLog", TAG + " IOException > " + e.toString()); 
      } 
     } 
    }); 
2

Вы получаете компиляции ошибки времени или выполнения. Кажется, что вы пытаетесь вернуть пучок из метода, который имеет тип возвращаемого типа void, т. Е.

public void onClick(View v) 
+0

Итак, что я должен делать именно в Bhushan? Could u pls отредактировал код для меня? Ниже приведены мои необходимые ответы: =========== ================================== Возможные ответы: Неверный токен: {"type": "error", "msg": "Токен безопасности отсутствует. "} Уведомления об отсутствии оплаты: {" type ":" error "," msg ":" Нет уведомлений об оплате "} Успех: {" type ":" success "," response ": {[notification array]} } – sam

+1

Вместо того, чтобы возвращать что-то, вы можете выполнить операцию, которая вам нужна в самом блоке. Также используется использование объекта bundle, пытаюсь создать. Потому что это, кажется, просто новый объект без каких-либо данных. – Bhushan

+0

Если я решил вашу проблему, вы можете пометить этот ответ как принятый. Это было бы прекрасно :) – Bhushan