2017-03-27 33 views
0

我想傳遞一個請求「_id」來擊中一個API,而這個「_id」 。如何在同一活動中將對象(從一個API獲取響應)傳遞給不同的API

這兩個API都在調用相同的Activity。

注意:「_id」,我得到一個API後,作爲響應,而我想通過「ID」到另一個API。

「_id」 越來越爲以下回應: -

{ 
    "success": true, 
    "count": 3, 
    "logs": [ 
    { 
     "_id": 2, 
     "user": "17", 
     "__v": 0, 
     "value": 125, 
     "unit": "litres", 
     "savedDT": "2017-03-22T03:44:20.799Z" 
    }, 
    { 
     "_id": 0, 
     "user": "17", 
     "__v": 0, 
     "value": 123, 
     "unit": "ml", 
     "savedDT": "2017-03-22T03:38:21.142Z" 
    }, 
    { 
     "_id": 1, 
     "user": "17", 
     "__v": 0, 
     "value": 123, 
     "unit": "litres", 
     "savedDT": "2017-03-22T03:38:21.142Z" 
    } 
    ] 
} 

用於獲取響應 「_id」

private void getwaterlog(String token) { 

     // Tag used to the request 
     String tag_string_req = "req_register"; 

     pDialog.setMessage("Registering ..."); 
     showDialog(); 

     StringRequest strReq = new StringRequest(Request.Method.POST, 
       AppConfig.WATER_All_LOG_API, new Response.Listener<String>() { 

      @Override 
      public void onResponse(String response) { 
       Log.d(TAG, "Register Response: " + response.toString()); 
       hideDialog(); 


    try { 
         JSONObject jObj = new JSONObject(response); 
         boolean success = jObj.getBoolean("success"); 

         if (success) { 

          String count = jObj.getString("count"); 
          JSONArray jArray = jObj.getJSONArray("logs"); 
          for(int i = 0; i < jArray.length(); i++) 
          { 
           JSONObject object = jArray.getJSONObject(i); 
           String _id = object.getString("_id"); 


           String user = object.getString("user"); 
           String __v = object.getString("__v"); 
           String value = object.getString("value"); 
           String unit = object.getString("unit"); 
           String savedDT = object.getString("savedDT"); 
          } 

那麼,如何才能得到這個 「_id」 作爲對其他請求代碼API在同一活動中。

我想在下面的按鈕clicklistener這個 「_id」: -

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


        Intent i = getIntent(); 

        String token = i.getStringExtra("token"); 

        //String "_id" = 
        deletewater(token,waterId); 

       } 
      }); 
+0

啓動另一個「AsyncTask」來調用其他API。在AsyncTask的構造函數或execute方法中傳遞'_id'。 –

+0

@Prera​​k Sola我正在使用Volley Library。如何讓這個「_id」到不同的API – user6313669

+0

@Prera​​kSola我想在btn_water_delete.setOnClickListener上調用這個「_id」請檢查我已經添加了相同的代碼但是無法通過這裏。 – user6313669

回答

0

可以使用AsynTask使用的HttpClient使doInBackground下請求調用API()。當接收到第一個請求響應時,發出第二個請求以獲得響應

+0

我正在使用排球庫但我面臨問題得到這個「_id」。 – user6313669

+0

在調用 –

+0

的第一個API的onResponse(JSONArray響應)方法中調用另一個API,其中getwaterlog()被調用? –

相關問題