안드로이드에서 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