我想传递一个请求"_id"来命中一个 API,而这个"_id"我在命中另一个 API 后作为响应得到
,如下所示。两个 API 都在同一个活动中调用。
注意:"_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 的请求。
我想在下面的按钮点击听众中这个"_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);
}
});
您可以使用 AsynTask 调用 api,使用 HttpClient 在 doInBackground(( 下发出请求。 当收到第一个请求响应时,然后发出第二个请求并获取响应