brunch

You can make anything
by writing

C.S.Lewis

by 오준석 Sep 11. 2017

[Android] Realm에서 index동작 원리

안드로이드에서 Realm 데이터베이스(https://realm.io/kr/)를 사용하면 아주 편리한데, 리스트뷰 등에 순서가 보장되도록 하고 싶을 때에는 id를 꼭 사용해야 한다.


다음과 같이 별도의 Primary Key를 설정하지 않은 DB를 사용하고 있다고 하자. Stetho-Realm(https://github.com/uPhyca/stetho-realm)를 사용하여 DB내부를 살펴보면 기본적으로 index가 자동으로 생성되고 이에 따라 정렬이 된다.


여기서 두 번째 아이템을 삭제하도록 하였다.


222 로 채워진 데이터가 삭제되면서 333이 위로 올라가는 것을 바랬지만 빈 곳을 제일 끝에 있던 666이 채워버린다.


그렇기 때문에 순서가 있는 데이터의 경우 Primary Key 를 주고 이에 따라 정렬을 해줘야 한다.


위 앱은 6기 학생이 만든 것으로 구글 플레이 스토어에서 받아볼 수 있다.

https://play.google.com/store/apps/details?id=com.lsb.myapplicationw2


매거진의 이전글 [Android] 코드로 View에 유니크한 id 주기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari