대부분 앱에는 데이터를 저장해야할 필요가 있다.
룸은 Android Jetpack의 데이터베이스 라이브러리이다.
룸은 데이터베이스를 구성하고 설정하는 작업들을 처리하며, 앱이 일반 함수 호출을 사용하여 데이터베이스와 상호작용할 수 있도록 한다.
룸의 용어와 복잡한 쿼리를 위한 쿼리 문법은 SQLite 모델을 따른다.
이런 앱 만들거임.
위에 구조에서 조금 간단하게 해서.
안드로이드에서는 데이터 클래스 안에 데이터가 있고, 함수호출을 통해 접근, 수정했지만 데이터 베이스 세계에서는 entity와 query가 필요하다.
entity는 데이터 베이스에 저장할 객체나, 개념 그리고 이것의 속성을 나타낸다. entity클래스는 테이블을 정의하고 각 클래스의 인스턴스는 테이블의 행을 나타낸다. 각 속성은 열을 나타낸다.
쿼리는 요청이다. 데이터나 정보가 데이터베이스 테이블이나 콤비네이션 테이블이나 요청에서 데이터가 동작을 수행하는 요청이다.
일반적인 쿼리는 getting, inserting, updating이 있다.
룸은 코틀린 데이터클래스에서 SQLite 테이블 안에 저장될 수 있는 entity 그리고 함수 정의에서 SQL쿼리까지 어려운 작업을 한다.
룸은 annotated 클래스를 사용해서 데이터베이스 테이블과 데이터베이스에서 동작하는 쿼리를 만든다.