[Android] Room TypeConverter
·
Android
📕 Room의 Type 제한 Room에 데이터를 저장할 때 원시 타입( char, int, short, long, float...)과 Wrapping Type만 지원합니다. 그 이유로 공식문서는 다음과 같이 이유를 설명 합니다. 효율성 및 성능 원시 타입과 래핑 타입은 메모리 사용 및 연산 효율성이 더 뛰어나기 때문에 데이터베이스 작업 시 성능을 최적화할 수 있어 객체가 아닌 기본 타입을 사용함으로써 메모리 소비가 감소하고, 데이터베이스 연산이 빨라집니다. Room에서 사용자가 정의한 클래스나 다른 복잡한 타입을 사용하려면 TypeConverter를 사용해 변환해 주어야 합니다. Room을 사용하여 복잡한 데이터 참조 | Android 개발자 | Android Developers Room을 사용하여 복잡..
[Android] Room Database
·
Android
🎉Room 이란 ? 제가 안드로이드를 맨 처음 공부했을 땐 Local Database로 SQLite를 사용했습니다. 하지만 SQLite만으론 공식문서에서 다음과 같은 문제점을 제시했습니다. 즉, Database에 접근하기 위한 Query를 Database Schema가 변경됨에 따라 사용자가 Query를 수동으로 업데이트 해야 되는데, 이 과정은 시간도 오래 걸리고 오류가 발생할 가능성이 높습니다 Room은 이를 개선해 만든 AAC(Android Architecture Components)로 다음과 같은 역할을 수행합니다. 1. ORM(Object Relational Mapping) Library Room은 데이터베이스의 테이블과 앱의 객체 사이의 매핑을 자동으로 처리해주는 ORM 라이브러리로 DB Da..