retrofit으로 Login을 구현하고 있습니다.
server에 id, pw값을 보내고, string으로 결과를 받는 간단한 통신인데요,
결과값을 받아서 승인/거절을 구분해야 하기에 동기식으로 처리했습니다.
그런데 android에서는 network작업을 할때 무조건 작업 thread에서 처리해야 하기 때문에
main thread가 network통신 결과를 받기도 전에 실행되는 문제가 있습니다.
(한마디로 일 시켜놓고 자기갈길 계속 가는건데.. )
결국 임의로 약 1초정도 sleep() 걸어놓고 network 통신을 할 동안 시간을 벌어두는 식으로 처리해서 해결했는데요.
이도 임시방편이고 여러가지 문제점이 발생할 수 있을것 같습니다.
(network 상황에 따라 통신이 생각보다 오래걸려서 sleep()시간 보다 더 늦게 통신할수도 있고요.)
현업에서는 이럴때 실제로 어떻게 처리하는지가 궁금합니다.
login에서는 아예 retrofit을 잘 사용하지 않나요?