기존 Java를 Kotlin 으로 변환 중에 아래와 같은 오류가 발생했다.

Cannot access database on the main thread since it may potentially lock the UI for a long period of time.

기존에 사용하던 org.greenrobot:greendao 이 최신 maven에서 작동이 되지 않아 Room으로 변환하였고,

AsyncTask를 Coroutine으로 변환 하던 중 발생한 오류 였다.

아래와 같이 CoroutineScope의 Dispatchers.IO에서 작동을 했는데에도 불구하고, 위와 같은 오류가 발생했다.

CoroutineScope(Dispatchers.IO).launch {
    // Volley 통신 콜백 함수    // Room Insert 함수
}

결론적으로는

Volley 통신 이후 콜백 받는 부분에서 CoroutineScope를 다시 호출하여 내부에서 Room에 접근하였더니 해결되었다.

Coroutine 안의 Coroutine으로 보이나 콜백을 통해서 달라진걸까?