我正在使用具有客户端/服务器类型架构的Android移动应用程序。总之,该应用程序连接到服务器以对用户帐户进行贷记或借记。 我使用Android Volley与服务器建立连接。第一个问题是:
**出于某种原因,当我运行移动客户端请求借记帐户时,两次提出该请求,这导致该帐户被借记两次。
经过思考,我认为这可能是由于RetryPolicy排球接口所致。我将帐篷的数量设置为0,这会导致下一个问题。
**我启动请求后,过了一会儿,移动客户端收到一个错误(服务器未响应),但已在服务器上执行了操作(帐户已记入借方)
如何解决问题?无论连接状态如何,都必须为同一请求从用户的余额中扣除或贷记一次。
答案 0 :(得分:0)
您可以在setRetryPolicy
中设置Volley
。 DEFAULT_MAX_RETRIES表示如果出现问题,请求将重试1次,因此在这种情况下总共执行2次。
因此,将DEFAULT_MAX_RETRIES
中的0
更改为setRetryPolicy
req.setRetryPolicy(new DefaultRetryPolicy(
DefaultRetryPolicy.DEFAULT_TIMEOUT_MS,
0, //Change DEFAULT_MAX_RETRIES to 0 for no retry
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
0表示不重试