Google Room을 사용하여 Android 앱 (Kotlin 코드)에서 데이터 지속성을 구현하고 있습니다. 방은 모든 작업 (데이터베이스와의 쿼리)을 비동기로 요구합니다. 사용자가 작업이 실행될 때까지 기다려서 쿼리가 끝나기 전에 제대로 구성되지 않은 구성 요소와 상호 작용하지 못하게하고 싶습니다. 비동기 작업에서 UI 스레드에 액세스 할 수 없으므로 어떻게이 작업을 수행 할 수 있습니까?Google Room에서 사용하는 비동기 작업 진행 상황을 올바르게 표시하는 방법
추신 : 진행률 /로드 표시기가있는 API에 대한 호출도 있습니다. 나는이 호출에서 RxJava를 사용하고 있지만, 나는이 기술을 처음 접했고 제대로 구조화하는 방법을 모르겠습니다. DB를 작업의
샘플 :
private fun getDataFromCache() {
//show progress indicator here
execute({
try {
//Get items from cache
val entities = daoData.findAll()
if (entities.isNotEmpty()) {
//do something
} else {
//do something else
}
}
catch (e: Exception){
Log.e("error", e.toString())
}
finally{
//dismiss progress indicator here
}
})
}
환호하는 사람, 우리는 비슷한 접근을했습니다! –