💡로컬 데이터베이스 구현을 위해 사용되는 Room, sharedPreference, DataStore의 차이에 대하여 정리하였습니다. 개요Room, SharedPreferences, DataStore는 모두 안드로이드에서 데이터를 로컬 환경에 저장하고 관리하는 방식입니다.각 방식은 데이터를 저장하는 용도와 방식에 차이가 있으며, 각 장단점과 성능의 차이가 있어서 차이를 알고 사용해야 합니다.RoomRoom은 안드로이드에서 관계형 데이터베이스를 사용하기 위한 ORM 라이브러리 입니다.Object-Relational Mapping : 객체 관계 매핑 라이브러리내부적으로 SQLite 데이터베이스를 사용하지만, 더 쉽게 사용할 수 있도록 객체 지향적인 방식으로 데이터베이스를 관리합니다.SQLite의 복잡한 S..
이전 포스팅https://jinudmjournal.tistory.com/157 [Room 오류 해결] java.lang.IllegalStateException: Room cannot verify the data integrity.문제 상황 룸 데이터베이스를 활용하는 중에 아래와 같은 오류가 발생하였습니다. java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number.jinudmjournal.tistory.com이전에 Room Migration 관련해서 오류를 해결한 내용을 포스팅하였습니다.매번 기능 구현에 급..
문제 상황 룸 데이터베이스를 활용하는 중에 아래와 같은 오류가 발생하였습니다. java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number. Expected identity hash: 118073d0ddf4d96739f8efb713ebd556, found: bb91b1f8c6584f92bc4ed367e358f416 생성한 데이터베이스 안의 테이블이나 컬럼들이 변경 되면 소스 상에서 변경된 상황을 App에게 ..
에러 내용 error: Cannot figure out how to save this field into database. You can consider adding a type converter for it. error: Cannot figure out how to read this field from a cursor. Room Database를 사용하던 중에 위와 같은 에러가 발생했습니다. Room에 데이터를 저장할 때는 primitive type과 wrapping type만 지원합니다. 따라서 그 외의 LIst나 커스텀 클래스를 저장할 경우에는 converter를 지정해주여야 한다고 합니다. Converter의 사용법을 익혀서 문제를 해결해는 방식을 학습했습니다. Entity @Entity(tabl..
Paging Library 구현 2번째 포스팅 입니다. https://jinudmjournal.tistory.com/131 [Android,Paging] Compose에서 Paging Library 구현하기 (1) Paging 라이브러리 Paging 라이브러리는 대규모 데이터 세트에서 페이징 된 데이터를 로드하여 표시하는 기능을 제공한다. Paging 라이브러리를 사용해서 네트워크 데이터 소스에서 페이징 된 데이 jinudmjournal.tistory.com Paging 구현 순서 이 포스팅에서 사용하는 Paging 구현 순서는 아래와 같다. 1. Data Model을 정의한다. - Entity, Dto, Domain Model, Mappers.. 2. RoomDB를 구현한다. 3. Retrofit 등 ..
Paging 라이브러리 Paging 라이브러리는 대규모 데이터 세트에서 페이징 된 데이터를 로드하여 표시하는 기능을 제공한다. Paging 라이브러리를 사용해서 네트워크 데이터 소스에서 페이징 된 데이터의 스트림을 설정하고, Compose View에 표시하는 방법을 학습했다. 우선 아래와 같이 Paging 관련 Library를 추가한다. // paging def paging_version = "3.1.1" implementation "androidx.paging:paging-runtime:$paging_version" implementation "androidx.paging:paging-compose:1.0.0-alpha18" 대부분의 페이징 라이브러리는 서버와 로컬 DB를 함께 사용하므로, Room과 ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.