volley 를 써서 네트워크 통신을하는데
서버보다 코드 속도가 더빠르다보니까
서버에서 가져온 값을 제때 적용할 수 가 없습니다.
그래서 동기화가 필요한데 어떻게 하시는지 아는분있나요?? ㅠㅠ
아래는 서버에서 값을 가져와서 vaildid 값에 넣는코드입니다.
vaildid를 바로쓸려고 하면 서버에서 값을 가져온 시간이늦어서 default 값인 false 가 찍혀요 ㅜㅜ
private void IsValidid() {
Response.Listener<String> responseIdListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if (success) {
vaildid = false; //their no ID in DB
} else {
vaildid = true;
}
Log.d("isvalidid_fun",String.valueOf(vaildid));
} catch (Exception e) {
e.printStackTrace();
}
}
};
ValidateRequest validateRequest = new ValidateRequest(userID, responseIdListener);
RequestQueue queue = Volley.newRequestQueue(LoginActivity.this);
queue.add(validateRequest);
}