Android 如何在同一活动中将对象(从一个API获取响应)传递到不同的API
我想传递一个请求“\u id”来命中一个API,而这个“\u id”是我在命中另一个API后得到的响应,如下所示 两个API都在调用相同的活动 注意:“_id”,我在点击一个API后得到一个响应,而我想将“_id”传递给另一个API “\u id”的响应如下所示:-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
{
"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);
}
});