클래스 RealmResults<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- io.realm.RealmResults<E>
-
- 유형 매개변수:
E
- 이 목록에 있는 객체의 클래스입니다.
- 구현된 모든 인터페이스:
io.realm.internal.Freezable<RealmCollection<E>>
,io.realm.internal.ManageableObject
,OrderedRealmCollection<E>
,RealmCollection<E>
,Iterable<E>
,Collection<E>
,List<E>
public class RealmResults<E> extends AbstractList<E>
이 클래스는 지정된 Realm에 대해RealmQuery
와(과) 일치하는 모든 항목을 보유합니다. 객체는 Realm에서 RealmResults 목록으로 복사되지 않고 대신 RealmResult에서 참고될 뿐입니다. 이렇게 하면 메모리가 절약되고 속도가 빨라집니다.RealmResults는 라이브 뷰이므로
Looper
스레드에 있는 경우 트랜잭션이 커밋된 후 쿼리 결과를 자동으로 업데이트합니다. 이벤트 루프가 아닌 스레드에서는 결과를 업데이트하기 위해BaseRealm.refresh()
을(를) 호출해야 합니다.RealmResults 목록에서 RealmObjects 업데이트는 트랜잭션 내에서 수행해야 하며 수정된 객체는 트랜잭션이 커밋되는 동안 Realm 파일에 유지됩니다.
RealmResults 객체는 서로 다른 스레드 간에 전달할 수 없습니다.
RealmResults에 객체가 없는 경우에도 RealmResults는
null
가 아닌 경우에도 마찬가지입니다. RealmResults가 비어 있는지 확인하려면 항상List.size()
메서드를 사용해야 합니다.RealmList.where()
를 통해 RealmList에 RealmResults가 빌드되면 소스 RealmList가 삭제되면 비어 있게 됩니다.RealmResults
는Integer.MAX_VALUE
보다 더 많은 요소를 포함할 수 있습니다. 이 경우 처음Integer.MAX_VALUE
요소에만 액세스할 수 있습니다.
-
-
필드 요약
필드 수정자 및 유형 필드 설명 io.realm.BaseRealm
baseRealm
이 collection이 있는BaseRealm
인스턴스입니다.
-
메서드 요약
모든 메서드 인스턴스 메서드 구체적인 방법 사용되지 않는 메서드 수정자 및 유형 메서드 설명 void
add(int index, E element)
더 이상 사용되지 않습니다.boolean
add(E element)
더 이상 사용되지 않습니다.boolean
addAll(int location, Collection<? extends E> collection)
더 이상 사용되지 않습니다.boolean
addAll(Collection<? extends E> collection)
더 이상 사용되지 않습니다.void
addChangeListener(OrderedRealmCollectionChangeListener<RealmResults<E>> listener)
이RealmResults
에 변경 리스너를 추가합니다.void
addChangeListener(RealmChangeListener<RealmResults<E>> listener)
이RealmResults
에 변경 리스너를 추가합니다.Observable<CollectionChange<RealmResults<E>>>
asChangesetObservable()
이 RealmResults의 변경 사항을 모니터링하는 Rx Observable을 반환합니다.Flowable<RealmResults<E>>
asFlowable()
이 RealmResults의 변경 사항을 모니터링하는 Rx Flowable을 반환합니다.String
asJSON()
RealmQuery
와 일치하는 항목의 JSON 표현을 반환합니다.double
average(String fieldName)
지정된 필드의 평균을 반환합니다.void
clear()
더 이상 사용되지 않습니다.boolean
contains(Object object)
이OrderedRealmCollection
에서 지정된 객체를 검색합니다.OrderedRealmCollectionSnapshot<E>
createSnapshot()
이OrderedRealmCollection
에서 스냅샷을 생성합니다.boolean
deleteAllFromRealm()
이렇게 하면 collection뿐만 아니라 기본 Realm에서도 collection의 모든 객체가 삭제됩니다.boolean
deleteFirstFromRealm()
목록에서 첫 번째 객체를 제거합니다.void
deleteFromRealm(int location)
Realm에서 지정된 인덱스에 있는 객체를 삭제합니다.boolean
deleteLastFromRealm()
목록에서 마지막 객체를 제거합니다.E
first()
컬렉션에서 첫 번째 객체를 가져옵니다.E
first(E defaultValue)
컬렉션에서 첫 번째 객체를 가져옵니다.RealmResults<E>
freeze()
E
get(int location)
이 목록의 지정된 위치에 있는 요소를 반환합니다.Realm
getRealm()
이 collection이 속한Realm
인스턴스를 반환합니다.boolean
isFrozen()
boolean
isLoaded()
결과가 아직 로드되지 않은 경우false
를 반환하고, 로드된 경우true
을 반환합니다.boolean
isManaged()
RealmResults
또는OrderedRealmCollectionSnapshot
는 항상 관리되는 컬렉션입니다.boolean
isValid()
collection이 여전히 사용하기에 유효한지, 즉Realm
인스턴스가 닫히지 않은지 확인합니다.Iterator<E>
iterator()
쿼리 결과에 대한 반복기를 반환합니다.E
last()
collection에서 마지막 객체를 가져옵니다.E
last(E defaultValue)
collection에서 마지막 객체를 가져옵니다.ListIterator<E>
listIterator()
쿼리 결과에 대한 목록 반복자를 반환합니다.ListIterator<E>
listIterator(int location)
쿼리 결과에 대한 목록 반복자를 반환합니다.boolean
load()
비동기 쿼리를 차단합니다.Number
max(String fieldName)
필드의 최대값을 찾습니다.Date
maxDate(String fieldName)
최대 날짜를 찾습니다.Number
min(String fieldName)
필드의 최소값을 찾습니다.Date
minDate(String fieldName)
최소 날짜를 찾습니다.E
remove(int index)
더 이상 사용되지 않습니다.boolean
remove(Object object)
더 이상 사용되지 않습니다.boolean
removeAll(Collection<?> collection)
더 이상 사용되지 않습니다.void
removeAllChangeListeners()
모든 사용자 정의 변경 수신기를 제거합니다.void
removeChangeListener(OrderedRealmCollectionChangeListener<RealmResults<E>> listener)
지정된 변경 리스너를 제거합니다.void
removeChangeListener(RealmChangeListener<RealmResults<E>> listener)
지정된 변경 리스너를 제거합니다.boolean
retainAll(Collection<?> collection)
더 이상 사용되지 않습니다.E
set(int location, E object)
더 이상 사용되지 않습니다.void
setBlob(String fieldName, byte[] value)
collection의 모든 객체에서 지정된 필드의 이진 값을 설정합니다.void
setBoolean(String fieldName, boolean value)
collection의 모든 객체에서 지정된 필드의boolean
값을 설정합니다.void
setByte(String fieldName, byte value)
collection의 모든 객체에서 지정된 필드의byte
값을 설정합니다.void
setDate(String fieldName, Date value)
collection의 모든 객체에서 지정된 필드의Date
값을 설정합니다.void
setDecimal128(String fieldName, Decimal128 value)
collection의 모든 객체에서 지정된 필드의Decimal128
값을 설정합니다.void
setDouble(String fieldName, double value)
collection의 모든 객체에서 지정된 필드의double
값을 설정합니다.void
setFloat(String fieldName, float value)
collection의 모든 객체에서 지정된 필드의float
값을 설정합니다.void
setInt(String fieldName, int value)
collection의 모든 객체에서 지정된 필드의int
값을 설정합니다.<T> void
setList(String fieldName, RealmList<T> list)
이 collection에 있는 모든 객체의 지정된 필드에 있는 RealmList를 대체합니다.void
setLong(String fieldName, long value)
collection의 모든 객체에서 지정된 필드의long
값을 설정합니다.void
setNull(String fieldName)
collection의 모든 객체에서 지정된 필드에 대해 값을null
로 설정합니다.void
setObject(String fieldName, RealmModel value)
collection에 있는 모든 객체에서 지정된 필드에 있는 다른 객체에 대한 참고를 설정합니다.void
setObjectId(String fieldName, ObjectId value)
collection의 모든 객체에서 지정된 필드의ObjectId
값을 설정합니다.void
setShort(String fieldName, short value)
collection의 모든 객체에서 지정된 필드의short
값을 설정합니다.void
setString(String fieldName, String value)
collection의 모든 객체에서 지정된 필드의String
값을 설정합니다.void
setUUID(String fieldName, UUID value)
collection의 모든 객체에서 지정된 필드의UUID
값을 설정합니다.void
setValue(String fieldName, Object value)
쿼리 결과 내의 모든 객체에서fieldName
로 지정된 필드를 업데이트합니다.int
size()
이 쿼리 결과의 요소 수를 반환합니다.RealmResults<E>
sort(String fieldName)
제공된 필드를 기준으로 collection을 오름차순으로 정렬합니다.RealmResults<E>
sort(String[] fieldNames, Sort[] sortOrders)
제공된 필드와 정렬 순서에 따라 collection을 정렬합니다.RealmResults<E>
sort(String fieldName, Sort sortOrder)
제공된 필드와 정렬 순서에 따라 collection을 정렬합니다.RealmResults<E>
sort(String fieldName1, Sort sortOrder1, String fieldName2, Sort sortOrder2)
제공된 필드와 정렬 순서에 따라 collection을 정렬합니다.Number
sum(String fieldName)
지정된 필드의 합계를 계산합니다.RealmQuery<E>
where()
이 컬렉션에서 특정 객체를 쿼리하는 데 사용할 수 있는RealmQuery
를 반환합니다.-
인터페이스 java.util에서 상속된 메소드입니다.collection
parallelStream, removeIf, stream, toArray
-
인터페이스 java.util에서 상속된 메소드입니다.목록
containsAll, equals, hashCode, indexOf, isEmpty, lastIndexOf, replaceAll, sort, spliterator, subList, toArray, toArray
-
-
-
-
메서드 세부 정보
-
위치
public RealmQuery<E> where()
이 컬렉션에서 특정 객체를 쿼리하는 데 사용할 수 있는RealmQuery
를 반환합니다.- 반환합니다:
- RealmQuery 객체
- 다음도 참조하세요.
RealmQuery
-
sort
public RealmResults<E> sort(String fieldName1, Sort sortOrder1, String fieldName2, Sort sortOrder2)
제공된 필드와 정렬 순서에 따라 collection을 정렬합니다.- 다음에 의해 지정됩니다:
sort
인터페이스에서OrderedRealmCollection<E>
- 매개변수:
fieldName1
- 첫 번째 필드 이름입니다. 부울, 짧은, int, long, float, double, 날짜 및 문자열 유형의 필드만 지원됩니다.sortOrder1
- 첫 번째 필드의 정렬 순서입니다.fieldName2
- 두 번째 필드 이름입니다. 부울, 짧은, int, long, float, double, 날짜 및 문자열 유형의 필드만 지원됩니다.sortOrder2
- 두 번째 필드의 정렬 순서입니다.- 반환합니다:
- 새로 정렬된
RealmResults
이(가) 생성되어 반환됩니다. 원본 collection은 변경되지 않은 상태로 유지됩니다.
-
isLoaded
공개 부울 isLoaded()
결과가 아직 로드되지 않은 경우false
를 반환하고, 로드된 경우true
을 반환합니다.- 반환합니다:
true
쿼리가 완료되고 데이터를 사용할 수 있는 경우false
, 쿼리가 여전히 백그라운드에서 실행 중인 경우.
-
로드
public boolean load()
비동기 쿼리를 차단합니다. 이렇게 하면 query가 완료되면 등록된RealmChangeListener
도 trigger됩니다.- 반환합니다:
true
쿼리를 성공적으로 완료했으면false
을 반환합니다.
-
setValue
public void setValue(String fieldName, @Nullable Object value)
쿼리 결과 내의 모든 객체에서fieldName
로 지정된 필드를 업데이트합니다.이 메서드는
String
으)로 지정된 숫자와 부울을 적절한 유형으로 자동 변환하려고 시도합니다. 예를 들어 필드 유형이RealmFieldType.INTEGER
인 경우"10"
은10
로 변환됩니다.setInt(String, int)
와(과) 같은 형식화된 세터를 사용하면 이 방법을 사용하는 것보다 빠릅니다.- 매개변수:
fieldName
- 업데이트할 필드value
- 업데이트할 값입니다.- 예외 처리:
IllegalArgumentException
- 필드를 찾을 수 없거나, 업데이트할 수 없거나, 인수가 필드 유형과 일치하지 않거나, 기본 필드 유형과 일치하도록 변환할 수 없는 경우.
-
setNull
public void setNull(String fieldName)
collection의 모든 객체에서 지정된 필드에 대해 값을null
로 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나 기본 키 속성인 경우IllegalStateException
- 필드가null
값을 보유할 수 없는 경우.
-
setBoolean
public void setBoolean(String fieldName, boolean value)
collection의 모든 객체에서 지정된 필드의boolean
값을 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.value
- 필드의 새 값입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 프라이머리 키 속성이거나 부울 필드가 아닌 경우.
-
setByte
public void setByte(String fieldName, byte value)
collection의 모든 객체에서 지정된 필드의byte
값을 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.value
- 필드의 새 값입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 프라이머리 키 속성이거나 바이트 필드가 아닌 경우.
-
setShot
public void setShort(String fieldName, short value)
collection의 모든 객체에서 지정된 필드의short
값을 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.value
- 필드의 새 값입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 기본 키 속성이거나, 짧은 필드가 아닌 경우.
-
setInt
public void setInt(String fieldName, int value)
collection의 모든 객체에서 지정된 필드의int
값을 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.value
- 필드의 새 값입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 기본 키 속성이거나, 정수 필드가 아닌 경우.
-
setLong
public void setLong(String fieldName, long value)
collection의 모든 객체에서 지정된 필드의long
값을 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.value
- 필드의 새 값입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 기본 키 속성이거나, 긴 필드가 아닌 경우
-
setFloat
public void setFloat(String fieldName, float value)
collection의 모든 객체에서 지정된 필드의float
값을 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.value
- 필드의 새 값입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 프라이머리 키 속성이거나, float 필드가 아닌 경우.
-
setDouble
public void setDouble(String fieldName, double value)
collection의 모든 객체에서 지정된 필드의double
값을 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.value
- 필드의 새 값입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 프라이머리 키 속성이거나 이중 필드가 아닌 경우
-
setString
public void setString(String fieldName, @Nullable String value)
collection의 모든 객체에서 지정된 필드의String
값을 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.value
- 필드의 새 값입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 기본 키 속성이거나, 문자열 필드가 아닌 경우.
-
setBlob
public void setBlob(String fieldName, @Nullable byte[] value)
collection의 모든 객체에서 지정된 필드의 이진 값을 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.value
- 필드의 새 값입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 기본 키 속성이거나, 이진 필드가 아닌 경우.
-
setDate
public void setDate(String fieldName, @Nullable Date value)
collection의 모든 객체에서 지정된 필드의Date
값을 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.value
- 필드의 새 값입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 프라이머리 키 속성이거나,Date
필드가 아닌 경우.
-
setObject
public void setObject(String fieldName, @Nullable RealmModel value)
collection에 있는 모든 객체에서 지정된 필드에 있는 다른 객체에 대한 참고를 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.value
- 이 필드에서 참고하는 새 객체입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 프라이머리 키 속성이거나, 객체 참조 필드가 아닌 경우.
-
setDecimal128
public void setDecimal128(String fieldName, @Nullable Decimal128 value)
collection의 모든 객체에서 지정된 필드의Decimal128
값을 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.value
- 필드의 새 값입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 프라이머리 키 속성이거나,Decimal128
필드가 아닌 경우.
-
setObjectId
public void setObjectId(String fieldName, @Nullable ObjectId value)
collection의 모든 객체에서 지정된 필드의ObjectId
값을 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.value
- 필드의 새 값입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 프라이머리 키 속성이거나,ObjectId
필드가 아닌 경우.
-
setUUID
public void setUUID(String fieldName, @Nullable UUID value)
collection의 모든 객체에서 지정된 필드의UUID
값을 설정합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.value
- 필드의 새 값입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 프라이머리 키 속성이거나,UUID
필드가 아닌 경우.
-
setList
public <T> void setList(String fieldName, RealmList<T> list)
이 collection에 있는 모든 객체의 지정된 필드에 있는 RealmList를 대체합니다.- 매개변수:
fieldName
- 업데이트할 필드의 이름입니다.list
- 필드의 새 값입니다.- 예외 처리:
IllegalArgumentException
- 필드 이름이 존재하지 않거나, 필드가 RealmList가 아닌 경우, 객체가 managed되지 않거나 목록의 객체 유형이 잘못된 경우입니다.
-
IsFrozen
공개 부울 isFrozen()
-
동결
public RealmResults<E> freeze()
-
addChangeListener
public void addChangeListener(RealmChangeListener<RealmResults<E>> listener)
이RealmResults
에 변경 리스너를 추가합니다.변경 리스너를 등록해도 기본 RealmResults가 가비지 수집되는 것을 방지할 수는 없습니다. RealmResults가 가비지 컬렉션되면 변경 리스너 트리거가 중지됩니다. 이를 방지하려면 클래스 변수와 같이 적절한 길이로 강력한 참고를 유지하세요.
public class MyActivity extends Activity { private RealmResults<Person> results; // Strong reference to keep listeners alive \@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); results = realm.where(Person.class).findAllAsync(); results.addChangeListener(new RealmChangeListener<RealmResults<Person>>() { \@Override public void onChange(RealmResults<Person> persons) { // React to change } }); } }
- 매개변수:
listener
- 알림을 받을 변경 리스너입니다.- 예외 처리:
IllegalArgumentException
- 변경 리스너가null
인 경우IllegalStateException
- 이벤트 루프가 아닌 또는IntentService
스레드에서 리스너를 추가하려고 하는 경우.
-
addChangeListener
public void addChangeListener(OrderedRealmCollectionChangeListener<RealmResults<E>> listener)
이RealmResults
에 변경 리스너를 추가합니다.변경 리스너를 등록해도 기본 RealmResults가 가비지 수집되는 것을 방지할 수는 없습니다. RealmResults가 가비지 컬렉션되면 변경 리스너 트리거가 중지됩니다. 이를 방지하려면 클래스 변수와 같이 적절한 길이로 강력한 참고를 유지하세요.
public class MyActivity extends Activity { private RealmResults<Person> results; // Strong reference to keep listeners alive \@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); results = realm.where(Person.class).findAllAsync(); results.addChangeListener(new OrderedRealmCollectionChangeListener<RealmResults<Person>>() { \@Override public void onChange(RealmResults<Person> persons, OrderedCollectionChangeSet changeSet) { // React to change } }); } }
- 매개변수:
listener
- 알림을 받을 변경 리스너입니다.- 예외 처리:
IllegalArgumentException
- 변경 리스너가null
인 경우IllegalStateException
- 이벤트 루프가 아닌 또는IntentService
스레드에서 리스너를 추가하려고 하는 경우.
-
모든 변경 리스너 제거
public void removeAllChangeListeners()
모든 사용자 정의 변경 수신기를 제거합니다.- 예외 처리:
IllegalStateException
- 이벤트 루프가 아닌 스레드에서 리스너를 제거하려고 하는 경우.- 다음도 참조하세요.
RealmChangeListener
-
removeChangeListener
public void removeChangeListener(RealmChangeListener<RealmResults<E>> listener)
지정된 변경 리스너를 제거합니다.- 매개변수:
listener
- 제거할 변경 리스너입니다.- 예외 처리:
IllegalArgumentException
- 변경 리스너가null
인 경우IllegalStateException
- 이벤트 루프가 아닌 스레드에서 리스너를 제거하려고 하는 경우.- 다음도 참조하세요.
RealmChangeListener
-
removeChangeListener
public void removeChangeListener(OrderedRealmCollectionChangeListener<RealmResults<E>> listener)
지정된 변경 리스너를 제거합니다.- 매개변수:
listener
- 제거할 변경 리스너입니다.- 예외 처리:
IllegalArgumentException
- 변경 리스너가null
인 경우IllegalStateException
- 이벤트 루프가 아닌 스레드에서 리스너를 제거하려고 하는 경우.- 다음도 참조하세요.
RealmChangeListener
-
asFlowable
public Flowable<RealmResults<E>> asFlowable()
이 RealmResults의 변경 사항을 모니터링하는 Rx Flowable을 반환합니다. 구독 시 현재 RealmResults를 내보냅니다. RealmResults가 업데이트될 때마다 RealmResults가 계속 방출되며onComplete
는 절대 호출되지 않습니다.Realm Flowable에서 방출된 항목은 동결됩니다(
freeze()
참조). 즉, 변경할 수 없으며 모든 스레드에서 읽을 수 있습니다.Realm Flowable은 항상 라이브 RealmResults를 보유하는 스레드에서 항목을 방출합니다. 즉, 추가 처리를 수행해야 하는 경우 계산 스케줄러에서 값을 관찰하는 것이 좋습니다.
realm.where(Foo.class).findAllAsync().asFlowable() .observeOn(Schedulers.computation()) .map(rxResults -> doExpensiveWork(rxResults)) .observeOn(AndroidSchedulers.mainThread()) .subscribe( ... );
asFlowable()
에서 항목 방출을 중지하려면first()
연산자를 사용하여 첫 번째 항목만 방출하도록 RxJava에 지시할 수 있습니다.realm.where(Foo.class).findAllAsync().asFlowable() .filter(results -> results.isLoaded()) .first() .subscribe( ... ) // You only get the results once
- 반환합니다:
onNext
만 호출하는 RxJava Observable입니다. 절대onComplete
또는OnError
를 호출하지 않습니다.- 예외 처리:
UnsupportedOperationException
- 필요한 RxJava 프레임워크가 클래스 경로에 없거나 해당 Realm 인스턴스가 RxJava를 지원하지 않는 경우.IllegalStateException
- Realm이 루퍼 스레드에서 열리지 않은 경우.- 다음도 참조하세요.
- RxJava 및 Realm
-
asChangesetObservable
public Observable<CollectionChange<RealmResults<E>>> asChangesetObservable()
이 RealmResults의 변경 사항을 모니터링하는 Rx Observable을 반환합니다. 구독 시 현재 RealmResults를 내보냅니다. RealmResult를 업데이트할 때마다 RealmResult와OrderedCollectionChangeSet
로 구성된 쌍이 전송됩니다. RealmResults가 처음 방출될 때 변경 세트는null
이(가) 됩니다.RealmResults가 업데이트될 때마다 RealmResults가 계속 방출되며
onComplete
는 절대 호출되지 않습니다.Realm Observable에서 방출된 항목은 동결됩니다(
freeze()
참조). 즉, 변경할 수 없으며 모든 스레드에서 읽을 수 있습니다.Realm Observable은 항상 라이브 Realm을 보유한 스레드에서 항목을 방출합니다. 즉, 추가 처리를 수행해야 하는 경우 계산 스케줄러에서 값을 관찰하는 것이 좋습니다.
realm.where(Foo.class).findAllAsync().asChangesetObservable() .observeOn(Schedulers.computation()) .map((rxResults, changes) -> doExpensiveWork(rxResults, changes)) .observeOn(AndroidSchedulers.mainThread()) .subscribe( ... );
- 반환합니다:
onNext
만 호출하는 RxJava Observable입니다. 절대onComplete
또는OnError
를 호출하지 않습니다.- 예외 처리:
UnsupportedOperationException
- 필요한 RxJava 프레임워크가 클래스 경로에 없거나 해당 Realm 인스턴스가 RxJava를 지원하지 않는 경우.IllegalStateException
- Realm이 루퍼 스레드에서 열리지 않은 경우.- 다음도 참조하세요.
- RxJava 및 Realm
-
asJSON
public String asJSON()
RealmQuery
와 일치하는 항목의 JSON 표현을 반환합니다. 주기는 행 인덱스로 반환됩니다. 이 메서드는 데이터를 검사하는 데 사용되는 도우미 메서드이며, 디버깅 목적으로 이 메서드가 큰 문자열을 가져올 경우 OutOfMemory 오류가 발생할 수 있습니다.- 반환합니다:
- 결과
RealmQuery
의 항목을 포함하는 JSON 배열의 문자열 표현입니다.
-
isValid
공개 부울 isValid()
collection이 여전히 사용하기에 유효한지, 즉Realm
인스턴스가 닫히지 않은지 확인합니다. 관리되지 않는 collection에 대해서는 항상true
을(를) 반환합니다.- 다음에 의해 지정됩니다:
isValid
인터페이스에서io.realm.internal.ManageableObject
- 다음에 의해 지정됩니다:
isValid
인터페이스에서RealmCollection<E>
- 반환합니다:
true
사용하기에 여전히 유효한 경우 또는 관리되지 않는 collection을 사용하는 경우, 그렇지 않으면false
를 반환합니다.
-
isManaged
public boolean isManaged()
RealmResults
또는OrderedRealmCollectionSnapshot
는 항상 관리되는 컬렉션입니다.- 다음에 의해 지정됩니다:
isManaged
인터페이스에서io.realm.internal.ManageableObject
- 다음에 의해 지정됩니다:
isManaged
인터페이스에서RealmCollection<E>
- 반환합니다:
true
.- 다음도 참조하세요.
RealmCollection.isManaged()
-
contains
공개 부울에는 (@Nullable Object 객체)가 포함됩니다.
이OrderedRealmCollection
에서 지정된 객체를 검색합니다.- 다음에 의해 지정됩니다:
contains
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
contains
인터페이스에서List<E>
- 다음에 의해 지정됩니다:
contains
인터페이스에서RealmCollection<E>
- 재정의:
contains
수업 중AbstractCollection<E>
- 매개변수:
object
- 검색할 객체입니다.- 반환합니다:
true
object
가 이OrderedRealmCollection
의 요소이면false
, 그렇지 않으면 입니다.
-
get
@Nullable public E get(int 위치)
이 목록의 지정된 위치에 있는 요소를 반환합니다.- 다음에 의해 지정됩니다:
get
인터페이스에서List<E>
- 다음에 의해 지정됩니다:
get
수업 중AbstractList<E>
- 매개변수:
location
- 반환할 요소의 인덱스입니다.- 반환합니다:
- 지정된 인덱스에 있는 요소.
- 예외 처리:
IndexOutOfBoundsException
-location < 0 || location >= size()
인 경우.
-
first
@Nullable public E first()
컬렉션에서 첫 번째 객체를 가져옵니다.- 다음에 의해 지정됩니다:
first
인터페이스에서OrderedRealmCollection<E>
- 반환합니다:
- 첫 번째 객체입니다.
-
first
@Nullable public E first(@Nullable E defaultValue)
collection에서 첫 번째 객체를 가져옵니다. collection이 비어 있으면 제공된 기본값이 대신 사용됩니다.- 다음에 의해 지정됩니다:
first
인터페이스에서OrderedRealmCollection<E>
- 반환합니다:
- 첫 번째 객체 또는 제공된 기본값입니다.
-
last
@Nullable public E last()
collection에서 마지막 객체를 가져옵니다.- 다음에 의해 지정됩니다:
last
인터페이스에서OrderedRealmCollection<E>
- 반환합니다:
- 마지막 객체입니다.
-
last
@Nullable public E last(@Nullable E defaultValue)
collection에서 마지막 객체를 가져옵니다. collection이 비어 있으면 제공된 기본값이 대신 사용됩니다.- 다음에 의해 지정됩니다:
last
인터페이스에서OrderedRealmCollection<E>
- 반환합니다:
- 마지막 객체 또는 제공된 기본값입니다.
-
deleteFromRealm
public void deleteFromRealm(int location)
Realm에서 지정된 인덱스에 있는 객체를 삭제합니다. 이렇게 하면 collection에서도 제거됩니다.- 다음에 의해 지정됩니다:
deleteFromRealm
인터페이스에서OrderedRealmCollection<E>
- 매개변수:
location
- 제거할 객체를 식별하는 배열 인덱스입니다.
-
deleteAllFromRealm
공개 부울 deleteAllFromRealm()
이렇게 하면 collection뿐만 아니라 기본 Realm에서도 collection의 모든 객체가 삭제됩니다.- 다음에 의해 지정됩니다:
deleteAllFromRealm
인터페이스에서RealmCollection<E>
- 반환합니다:
true
객체가 삭제된 경우false
, 그렇지 않으면 입니다.
-
iterator
public Iterator<E> iterator()
쿼리 결과에 대한 반복기를 반환합니다. 반복하는 동안 Realm을 변경하면 이 반복기에 액세스하면 이 반복기에ConcurrentModificationException
이 발생합니다.- 다음에 의해 지정됩니다:
iterator
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
iterator
인터페이스에서Iterable<E>
- 다음에 의해 지정됩니다:
iterator
인터페이스에서List<E>
- 재정의:
iterator
수업 중AbstractList<E>
- 반환합니다:
- 이 목록의 요소에 대한 반복기(iterator)입니다.
- 다음도 참조하세요.
Iterator
-
listIterator
public ListIterator<E> listIterator()
쿼리 결과에 대한 목록 반복자를 반환합니다. 반복하는 동안 Realm을 변경하면 반복자에 액세스하면 반복자에서ConcurrentModificationException
이 발생합니다.- 다음에 의해 지정됩니다:
listIterator
인터페이스에서List<E>
- 재정의:
listIterator
수업 중AbstractList<E>
- 반환합니다:
- 이 목록의 요소에 대한 ListIterator입니다.
- 다음도 참조하세요.
ListIterator
-
listIterator
public ListIterator<E> listIterator(int location)
쿼리 결과에 대한 목록 반복자를 반환합니다. 반복하는 동안 Realm을 변경하면 반복자에 액세스하면 반복자에서ConcurrentModificationException
이 발생합니다.- 다음에 의해 지정됩니다:
listIterator
인터페이스에서List<E>
- 재정의:
listIterator
수업 중AbstractList<E>
- 매개변수:
location
- 반복을 시작할 인덱스입니다.- 반환합니다:
- 이 목록의 요소에 대한 ListIterator입니다.
- 예외 처리:
IndexOutOfBoundsException
-location < 0 || location > size()
인 경우.- 다음도 참조하세요.
ListIterator
-
sort
public RealmResults<E> sort(String fieldName)
제공된 필드를 기준으로 collection을 오름차순으로 정렬합니다.- 다음에 의해 지정됩니다:
sort
인터페이스에서OrderedRealmCollection<E>
- 매개변수:
fieldName
- 정렬할 필드 이름입니다. 부울, 짧은, int, long, float, double, 날짜 및 문자열 유형의 필드만 지원됩니다.- 반환합니다:
- 새로 정렬된
RealmResults
이(가) 생성되어 반환됩니다. 원본 collection은 변경되지 않은 상태로 유지됩니다.
-
sort
public RealmResults<E> sort(String fieldName, Sort sortOrder)
제공된 필드와 정렬 순서에 따라 collection을 정렬합니다.- 다음에 의해 지정됩니다:
sort
인터페이스에서OrderedRealmCollection<E>
- 매개변수:
fieldName
- 정렬할 필드 이름입니다. 부울, 짧은, int, long, float, double, 날짜 및 문자열 유형의 필드만 지원됩니다.sortOrder
- 정렬 기준 방향입니다.- 반환합니다:
- 새로 정렬된
RealmResults
이(가) 생성되어 반환됩니다. 원본 collection은 변경되지 않은 상태로 유지됩니다.
-
sort
public RealmResults<E> sort(String[] fieldNames, Sort[] sortOrders)
제공된 필드와 정렬 순서에 따라 collection을 정렬합니다.- 다음에 의해 지정됩니다:
sort
인터페이스에서OrderedRealmCollection<E>
- 매개변수:
fieldNames
- 정렬 기준이 되는 필드 이름의 배열입니다. 부울, 짧은, int, long, float, double, 날짜 및 문자열 유형의 필드만 지원됩니다.sortOrders
- 정렬 기준 방향.- 반환합니다:
- 새로 정렬된
RealmResults
이(가) 생성되어 반환됩니다. 원본 collection은 변경되지 않은 상태로 유지됩니다.
-
size
public int size()
이 쿼리 결과의 요소 수를 반환합니다.- 다음에 의해 지정됩니다:
size
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
size
인터페이스에서List<E>
- 다음에 의해 지정됩니다:
size
수업 중AbstractCollection<E>
- 반환합니다:
- 이 쿼리 결과의 요소 수입니다.
-
min
public Number min(String fieldName)
필드의 최소값을 찾습니다.- 다음에 의해 지정됩니다:
min
인터페이스에서RealmCollection<E>
- 매개변수:
fieldName
- 최소값을 찾을 필드입니다. 숫자 필드만 지원됩니다.- 반환합니다:
- 객체가 없거나 지정된 필드의 값으로 객체가 모두
null
있는 경우null
가 반환됩니다. 그렇지 않으면 최소값이 반환됩니다. 최소값을 결정할 때null
값을 가진 객체는 무시됩니다.
-
minDate
공개 날짜 minDate(문자열 fieldName)
최소 날짜를 찾습니다.- 다음에 의해 지정됩니다:
minDate
인터페이스에서RealmCollection<E>
- 매개변수:
fieldName
- 최소 날짜를 찾을 필드입니다. fieldName이 날짜 유형이 아닌 경우 예외가 발생합니다.- 반환합니다:
- 객체가 없거나 지정된 날짜 필드의 값으로 객체가 모두
null
있는 경우null
가 반환됩니다. 그렇지 않으면 최소 날짜가 반환됩니다. 최소 날짜를 결정할 때null
값을 가진 객체는 무시됩니다.
-
최대
최대 공개 숫자 (문자열 필드 이름)
필드의 최대값을 찾습니다.- 다음에 의해 지정됩니다:
max
인터페이스에서RealmCollection<E>
- 매개변수:
fieldName
- 최대값을 찾을 필드입니다. 숫자 필드만 지원됩니다.- 반환합니다:
- 객체가 없거나 지정된 필드의 값으로 객체가 모두
null
있는 경우null
가 반환됩니다. 그렇지 않으면 최대값이 반환됩니다. 최대값을 결정할 때null
값을 가진 객체는 무시됩니다.
-
maxDate
@Nullable 공개 날짜 maxDate(문자열 fieldName)
최대 날짜를 찾습니다.- 다음에 의해 지정됩니다:
maxDate
인터페이스에서RealmCollection<E>
- 매개변수:
fieldName
- 최대 날짜를 찾을 필드입니다. fieldName이 날짜 유형이 아닌 경우 예외가 발생합니다.- 반환합니다:
- 객체가 없거나 지정된 날짜 필드의 값으로 객체가 모두
null
있는 경우null
가 반환됩니다. 그렇지 않으면 최대 날짜가 반환됩니다. 최대 날짜를 결정할 때null
값을 가진 객체는 무시됩니다. - 예외 처리:
IllegalArgumentException
- fieldName이 날짜 필드가 아닌 경우.
-
합계
public Number sum(String fieldName)
지정된 필드의 합계를 계산합니다.- 다음에 의해 지정됩니다:
sum
인터페이스에서RealmCollection<E>
- 매개변수:
fieldName
- 합계할 필드입니다. 숫자 필드만 지원됩니다.- 반환합니다:
- 합계. 객체가 없거나 지정된 필드의 값으로 모두
null
가 있는 경우0
가 반환됩니다. 합계를 계산할 때null
값을 가진 객체는 무시됩니다.
-
평균
공개 이중 평균(String fieldName)
지정된 필드의 평균을 반환합니다.- 다음에 의해 지정됩니다:
average
인터페이스에서RealmCollection<E>
- 매개변수:
fieldName
- 평균을 계산할 필드입니다. 숫자 필드만 지원됩니다.- 반환합니다:
- 쿼리 결과에 있는 객체 중 지정된 필드에 대한 평균입니다. 이 필드는 모든 유형의 숫자 필드에 대해 double 유형이 됩니다. 객체가 없거나 지정된 필드의 값으로 모두
null
가 있는 경우0
가 반환됩니다. 평균을 계산할 때null
값을 가진 객체는 무시됩니다.
-
제거
@Deprecated public E remove(int 인덱스)
더 이상 사용되지 않습니다.RealmResults
및OrderedRealmCollectionSnapshot
에서는 지원되지 않습니다.- 다음에 의해 지정됩니다:
remove
인터페이스에서List<E>
- 재정의:
remove
수업 중AbstractList<E>
- 예외 처리:
UnsupportedOperationException
-
제거
@Deprecated 공개 부울 제거(객체 객체)
더 이상 사용되지 않습니다.RealmResults
및OrderedRealmCollectionSnapshot
에서는 지원되지 않습니다.- 다음에 의해 지정됩니다:
remove
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
remove
인터페이스에서List<E>
- 재정의:
remove
수업 중AbstractCollection<E>
- 예외 처리:
UnsupportedOperationException
-
모두 제거하기
@Deprecated public boolean removeAll(Collection<?> collection)
더 이상 사용되지 않습니다.RealmResults
및OrderedRealmCollectionSnapshot
에서는 지원되지 않습니다.- 다음에 의해 지정됩니다:
removeAll
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
removeAll
인터페이스에서List<E>
- 재정의:
removeAll
수업 중AbstractCollection<E>
- 예외 처리:
UnsupportedOperationException
-
세트
@더 이상 사용되지 않는 공개 E 세트(int 위치, E 객체)
더 이상 사용되지 않습니다.RealmResults
및OrderedRealmCollectionSnapshot
에서는 지원되지 않습니다.- 다음에 의해 지정됩니다:
set
인터페이스에서List<E>
- 재정의:
set
수업 중AbstractList<E>
- 예외 처리:
UnsupportedOperationException
-
retentionAll
@Deprecated public boolean retainAll(Collection<?> collection)
더 이상 사용되지 않습니다.RealmResults
및OrderedRealmCollectionSnapshot
에서는 지원되지 않습니다.- 다음에 의해 지정됩니다:
retainAll
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
retainAll
인터페이스에서List<E>
- 재정의:
retainAll
수업 중AbstractCollection<E>
- 예외 처리:
UnsupportedOperationException
-
deleteLastFromRealm
공개 부울 deleteLastFromRealm()
목록에서 마지막 객체를 제거합니다. 이렇게 하면 기본 Realm에서 객체도 삭제됩니다.- 다음에 의해 지정됩니다:
deleteLastFromRealm
인터페이스에서OrderedRealmCollection<E>
- 반환합니다:
true
객체가 삭제되면false
, 그렇지 않으면 을 반환합니다.- 예외 처리:
IllegalStateException
- 해당 Realm이 닫혔거나 잘못된 스레드에 있는 경우
-
deleteFirstFromRealm
공개 부울 deleteFirstFromRealm()
목록에서 첫 번째 객체를 제거합니다. 이렇게 하면 기본 Realm에서 객체도 삭제됩니다.- 다음에 의해 지정됩니다:
deleteFirstFromRealm
인터페이스에서OrderedRealmCollection<E>
- 반환합니다:
true
객체가 삭제되면false
, 그렇지 않으면 을 반환합니다.- 예외 처리:
IllegalStateException
- 해당 Realm이 닫혔거나 잘못된 스레드에 있는 경우
-
지우기
@Deprecated public void clear()
더 이상 사용되지 않습니다.RealmResults
및OrderedRealmCollectionSnapshot
에서는 지원되지 않습니다.- 다음에 의해 지정됩니다:
clear
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
clear
인터페이스에서List<E>
- 재정의:
clear
수업 중AbstractList<E>
- 예외 처리:
UnsupportedOperationException
- 항상.
-
추가
@Deprecated 공개 부울 추가(E 요소)
더 이상 사용되지 않습니다.RealmResults
및OrderedRealmCollectionSnapshot
에서는 지원되지 않습니다.- 다음에 의해 지정됩니다:
add
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
add
인터페이스에서List<E>
- 재정의:
add
수업 중AbstractList<E>
- 예외 처리:
UnsupportedOperationException
- 항상.
-
추가
@Deprecated public void add(int index, E element)
더 이상 사용되지 않습니다.RealmResults
및OrderedRealmCollectionSnapshot
에서는 지원되지 않습니다.- 다음에 의해 지정됩니다:
add
인터페이스에서List<E>
- 재정의:
add
수업 중AbstractList<E>
- 예외 처리:
UnsupportedOperationException
- 항상.
-
addAll
@Deprecated public boolean addAll(int location, Collection<? extends E> collection)
더 이상 사용되지 않습니다.RealmResults
및OrderedRealmCollectionSnapshot
에서는 지원되지 않습니다.- 다음에 의해 지정됩니다:
addAll
인터페이스에서List<E>
- 재정의:
addAll
수업 중AbstractList<E>
- 예외 처리:
UnsupportedOperationException
- 항상.
-
addAll
@Deprecated public boolean addAll(Collection<? extends E> collection)
더 이상 사용되지 않습니다.RealmResults
및OrderedRealmCollectionSnapshot
에서는 지원되지 않습니다.- 다음에 의해 지정됩니다:
addAll
인터페이스에서Collection<E>
- 다음에 의해 지정됩니다:
addAll
인터페이스에서List<E>
- 재정의:
addAll
수업 중AbstractCollection<E>
- 예외 처리:
UnsupportedOperationException
- 항상.
-
createSnapshot
public OrderedRealmCollectionSnapshot<E> createSnapshot()
인터페이스에서 설명 복사:OrderedRealmCollection
이OrderedRealmCollection
에서 스냅샷을 생성합니다.- 다음에 의해 지정됩니다:
createSnapshot
인터페이스에서OrderedRealmCollection<E>
- 반환합니다:
- 이 collection의 스냅샷입니다.
- 다음도 참조하세요.
OrderedRealmCollectionSnapshot
-
getRealm
public Realm getRealm()
이 collection이 속한Realm
인스턴스를 반환합니다.반환된 인스턴스에서
Closeable.close()
를 호출하는 것은 원래 Realm 인스턴스에서 호출하는 것과 동일하므로 Realm이 완전히 닫혀 쿼리 결과가 무효화될 수 있으므로 권장하지 않습니다.- 반환합니다:
Realm
이 collection이 속한 인스턴스.- 예외 처리:
IllegalStateException
- Realm이DynamicRealm
의 인스턴스이거나Realm
가 이미 닫힌 경우
-
-