Solution[room](앱 Reload시 데이터 초기화)

정상준·2023년 4월 8일
0

✏️ Room을 공부하던 중 자꾸 데이터를 성공적으로 저장하는데 앱을 Reload하면 데이터가 삭제하는 문제가 발생하였습니다.

❗️내가 Room을 확실히 이해하지 못해 발생한 문제로 Room을 사용하면 데이터가 내부에 저장되는 것인데 외부DB에서 값을 불러와 변경된 값이 적용되지 않는 문제였습니다.

문제의 코드)

        fun getFavoriteDatabase(context: Context): FavoriteDatabase {
            return Instance ?: synchronized(this) {
                Room.databaseBuilder(context, FavoriteDatabase::class.java, "favorite_database")
                    //아래코드에서 외부에서 DB를 불러와 문제가 발생(아래코드 삭제하면 해결)
                    .createFromAsset("database/flight_search.db")
                    .fallbackToDestructiveMigration().build().also { Instance = it }
            }
        }

📚 처음에 필요한 DB값만 외부에서 불러오고 값의 저장과 저장된 값을 가져오는 것은 내부에서 이루어 진다는 것을 알아야한다. 즉 외부DB에 영향을 끼치지 않는다.

profile
안드로이드개발자

0개의 댓글