Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在同一活动中将对象(从一个API获取响应)传递到不同的API_Android_Json_Android Volley - Fatal编程技术网

Android 如何在同一活动中将对象(从一个API获取响应)传递到不同的API

Android 如何在同一活动中将对象(从一个API获取响应)传递到不同的API,android,json,android-volley,Android,Json,Android Volley,我想传递一个请求“\u id”来命中一个API,而这个“\u id”是我在命中另一个API后得到的响应,如下所示 两个API都在调用相同的活动 注意:“_id”,我在点击一个API后得到一个响应,而我想将“_id”传递给另一个API “\u id”的响应如下所示:- { "success": true, "count": 3, "logs": [ { "_id": 2, "user": "17", "__v": 0, "valu

我想传递一个请求“\u id”来命中一个API,而这个“\u id”是我在命中另一个API后得到的响应,如下所示

两个API都在调用相同的活动

注意:“_id”,我在点击一个API后得到一个响应,而我想将“_id”传递给另一个API

“\u 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"
    }
  ]
} 
获取响应“\u id”的代码


您可以使用AsynTask调用api,使用HttpClient在doInBackground()下发出请求。收到第一个请求响应后,发出第二个请求并获取响应

启动另一个
AsyncTask
调用另一个API。在AsyncTask的构造函数或“execute”方法中传递
\u id
。@Prerak Sola我正在使用Volley库。如何将此“_id”设置为不同的API@PrerakSola我想在btn\u water\u delete.setOnClickListener上调用此“\u id”。请检查我是否已添加了相同的代码,但无法在此处传递。如果您想在其他按钮单击上使用
\u id
,则需要将其保存在某个位置(可能是共享参考)在该按钮上的
onClickListener
中,从存储器中检索id并将其传递给APi。我正在使用volley库,但在获取此“_id”时遇到问题。在第一个APi调用的onResponse(JSONArray response)方法中调用另一个APi在与按钮单击相同的活动中调用??然后如何在btn\u water\u delete.setOnClickListener中获取_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");
                            }
  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);

                }
            });