170719 realm 놓치기 쉬운 부분 정리
Edit 170719 realm 놓치기 쉬운 부분 정리 android realm 170719 realm 놓치기 쉬운 부분 정리 스냅샷 or 질의 in 질의 연속질의 집합 aggregation realm 설정 기본 RealmConfiguration 인 메모리 (In-memory) Realm 마이그레이션 암호화 AsyncTask IntentService 로그남기기 realm을 프로젝트에 사용해 보고 있는데 튜토리얼만 보고는 놓치기 쉬운부분을 짜깁기 해 봤다. https://realm.io/kr/docs/java/latest/ realm는 문서화를 참 잘 하는 것 같다. 스냅샷 모든 Realm 컬렉션은 라이브로 실시간 업데이트됩니다. 즉, 항상 최신 상태를 반영합니다. 대부분의 경우 이 방식이 바람직하지만, 원소를 수정하기 위해서 컬렉션을 순회하는 경우라면 어떨까요? 아래 예제와 같은 경우입니다. RealmResults<Person> guests = realm.where(Person.class).equalTo( "invited" , false ).findAll(); realm.beginTransaction(); for ( int i = 0 ; guests.size(); i++) { guests.get(i).setInvited( true ); } realm.commitTransaction(); 일반적으로 이 간단한 루프를 통해 모든 손님을 초대할 수 있으리라 기대합니다. 하지만 RealmResults가 즉시 업데이트되므로 손님 중 절반만 초대됩니다. 초대된 손님이 컬렉션에서 즉시 제거되고 모든 요소의 위치가 이동하기 때문에 i 매개변수가 증가하면 요소가 누락됩니다.