gpt4 book ai didi

java - 如何在循环中发出 Volley 请求,直到出现特定响应

转载 作者:行者123 更新时间:2023-12-02 11:38:28 24 4
gpt4 key购买 nike

如何在循环中发出 Volley 请求,直到出现特定响应?

package raju.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.skyfishjy.library.RippleBackgroun;
public class xxx extends AppCompatActivity {
int xi= 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_xxx);
StringRequest sr = new StringRequest("http://reju.pe.hu/test.php", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (response.contains("1")){
xi=1;
}
Log.w("res",response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
while (xi==0){
try {
Thread.sleep(1000);
RequestQueue xx = Volley.newRequestQueue(this);
xx.add(sr);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}

最佳答案

在这里,我创建了一个名为 runRequest 的方法,其中包含您上面给出的代码。我对代码所做的唯一更改是等待对请求的响应,检查它是否是特定响应。如果不是特定响应,则再次调用runRequest方法,如果是特定响应,则不执行任何操作。

public void runRequest() {
StringRequest sr = new StringRequest("http://reju.pe.hu/test.php", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (response.contains("1")) {
//here comes the specific response
} else {
runRequest();
//re run the request
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
RequestQueue xx = Volley.newRequestQueue(this);
xx.add(sr);
}

关于java - 如何在循环中发出 Volley 请求,直到出现特定响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48748514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com