일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- material3
- ㅓ
- Kotlin
- compose
- ㅋㅁ
- 코틀린
- 추상 팩토리
- Design Pattern
- Functional Programming
- Abstract Factory
- 안드로이드 디자인시스템
- 추상팩토리패턴
- 프로토타입 패턴
- r
- 팩토리 메소드
- 빌터패턴
- factory method
- 싱글톤
- 함수형프로그래밍
- Observer Pattern
- 디자인패턴 #
- PrototypePattern
- builderPattern
- El
- 옵저버 패턴
- 디자인패턴
- Singleton
- designPattern
- F
- android designsystem
- Today
- Total
목록Android Jetpack Architecture/Room (8)
오늘도 더 나은 코드를 작성하였습니까?
SQLite는 관계형 데이터베이스이므로 entity 간 관계를 지정할 수 있습니다. 대부분의 객체 관계 매핑(ORM) 라이브러리에서는 entity객체가 서로를 참조할 수 있지만, Room은 이러한 상호 참조를 명시적으로 금지합니다. 즉, 어떤 Entity가 다른 Entity의 참조를 가지고 있으면 안 된다. Room에서 객체 참조를 허용하지 않는 이유 이해 (앱에 필요한 데이터를 명시적으로 요청해야 합니다.) 내장된 Entity 생성하기 개발자는 객체에 여러 필드가 포함되어 있는 경우에도 데이터베이스 로직에서 Entity 또는 데이터 객체를 응집된 전체로 표현하려고 합니다. @Embedded주석을 사용하여 테이블 내의 하위 필드로 분해하려고 하는 객체를 나타낼 수 있습니다. 그러면 다른 개별 열을 쿼리 ..
데이터베이스 인덱스(Database Index) RDBMS에서 대용량의 데이터(레코드)가 있을 때, 특정 데이터를 검색하기 위해서 테이블의 레코드를 full scan 하는 것이 아니라, 인덱스가 적용된 칼럼의 테이블(칼럼, 인덱스 주소)을 따로 저장해놓고 그것을 검색해서 검색 효율을 높이는 방법이다. 인덱스가 설정된 필드 값을 포함한 데이터의 삽입, 삭제, 수정 작업이 원본 테이블에서 이루어질 경우, 인덱스도 함께 수정되어야 합니다. 따라서 인덱스가 설정된 테이블의 처리 속도가 느려질 수 있습니다. 그러므로 인덱스는 수정보다는 검색이 자주 사용되는 테이블에서 사용하는 것이 더 좋습니다. FTS (Full-text Index) 문서의 내용 전체를 인덱스화해서 특정 키워드가 포함된 문서를 검색하는 전문(Fu..
Entity 생성 @Entity 애노테이션을 붙이고 프로퍼티를 생성함으로써 개체를 정의할 수 있다. @Entity data class User( @PrimaryKey var id: Int, var firstName: String?, var lastName: String? ) Database 클래스의 entities 배열을 통해 entity클래스를 참조해야 되고, 테이블로서 생성된다. 필드를 유지하려면 Room에서 필드에 액세스 할 수 있어야 합니다. 필드를 공개(public) 상태로 설정하거나 필드에 getter 및 setter를 제공할 수 있습니다. getter 및 setter 메서드를 사용하는 경우 이러한 메서드는 Room의 JavaBeans 규칙을 기반으로 합니다. *참고 : entity는 빈 생성..

Room은 SQLite에 대한 추상화 계층을 제공하여 SQLite의 모든 기능을 활용하면서 쉬운 데이터베이스 접근을 허용한다. 상당한 양의 구조화된 데이터를 처리하는 앱은 데이터를 로컬로 유지하여 대단한 이점을 얻을 수 있습니다 가장 일반적인 사용 사례는 관련 데이터를 캐싱하는 것입니다. 이런 방식으로 기기가 네트워크에 액세스할 수 없을 때 오프라인 상태인 동안에도 사용자가 여전히 콘텐츠를 탐색할 수 있습니다. 나중에 기기가 다시 온라인 상태가 되면 사용자가 시작한 콘텐츠 변경사항이 서버에 동기화됩니다. Room은 이러한 문제를 자동으로 처리하므로 SQLite 대신 Room을 사용할 것을 적극적으로 권장된다. 의존성 추가. dependencies { def room_version = "2.2.5" imp..