繁体   English   中英

如何在排球或改装中收到确认?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM