[英]How to receive confirmation in Volley or Retrofit?
我想将一些数据发布到MySQL数据库。 服务器端代码将确定数据是否有效,并以该确定做出响应。 收到此响应后,应用程序端代码必须确定是否需要重试或继续。 我已经尝试过回调,RequestFuture和自旋等待,但是开始似乎这种类型的功能对于Volley来说是不可能的(基于服务器响应做出决定)。 其他人在实现这种功能上是否成功?
主线
postCampaign(campaign);
if (//data was invalid) {
//do postCampaign(campaign) again
}
主线
private void postCampaign(final Campaign campaign) {
campaign.setRoomCode("XXXXXXXX");
StringRequest request = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>()
{
@Override
public void onResponse(String response) {
// I want to make a decision based on response
}
},
new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error) {
...
}
}
) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
// put data
return params;
}
};
NetworkController.getInstance(this).addToRequestQueue(request);
}
从服务器端,您需要获取应用程序发送的数据。 然后,您需要检查验证,例如传递的数据是否为空/不正确(如果使用密码,请对照数据库中的密码检查密码是否正确)。
在您的数据的服务器端验证,如果数据被成功验证,并在数据库中更新然后给一个success response
与适当的response code
,否则如果数据库更新用失败,然后给出一个error response
与适当的error response
代码。 您可以将这些响应作为json格式传递给客户端(或以您愿意解析的任何格式)
现在在应用程序端,您可能有一个响应回调方法(在retrofit/volley
可用)。 从此回调中获得的响应中检查是成功响应还是失败响应,并针对成功/失败案例做出适当的决策
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.