Docs Menu
Docs Home
/ /
io.realm

Resultados del reino de la clase

java.lang.Object
io.realm.OrderedRealmCollectionImpl
io.realm.RealmResults

Esta clase contiene todas las coincidencias de una consulta RealmQuery para un dominio determinado. Los objetos no se copian del dominio a la lista RealmResults, sino que se referencian desde RealmResult. Esto ahorra memoria y aumenta la velocidad.

Los resultados de RealmResults son vistas en tiempo real, lo que significa que, si se encuentran en un hilo de Looper, actualizarán automáticamente los resultados de sus consultas tras confirmarse una transacción. Si se encuentran en un hilo que no es de Looper, se debe llamar aRealm.refresh() para actualizar los resultados.

Las actualizaciones de RealmObjects desde una lista RealmResults deben realizarse desde dentro de una transacción y los objetos modificados se conservan en el archivo Realm durante la confirmación de la transacción.

Un objeto RealmResults no se puede pasar entre diferentes subprocesos.

Tenga en cuenta que un RealmResults nunca es null Ni siquiera si no contiene objetos. Siempre debe usar el método RealmResults.size() para comprobar si un RealmResults está vacío.

Si se crea un RealmResults en RealmList a través de RealmList.where(), quedará vacío cuando se elimine la RealmList de origen.

RealmResults puede contener más de elementos.Integer.MAX_VALUE En ese caso, solo se puede acceder a los primeros Integer.MAX_VALUE elementos.

Tip

Modificador y Tipo
Método y descripción

public void

public void

público <any>

Devuelve un Observable Rx que monitorea los cambios en este RealmResults.

público <any>

Devuelve un Rx Flowable que supervisa los cambios en estos RealmResults.

Devuelve una representación JSON de las coincidencias de un RealmQuery.

booleanopúblico

booleanopúblico

Devuelve false si los resultados aún no se han cargado, true si ya están cargados.

booleanopúblico

load ()

Realiza un bloqueo de consultas asincrónicas.

public void

Elimina todos los escuchas de cambios definidos por el usuario.

public void

public void

Elimina el detector de cambios especificado.

public void

String fieldName,
byte[] value
)

Establece el valor binario del campo dado en todos los objetos de la colección.

public void

String fieldName,
boolean value
)

Establece el valor boolean del campo dado en todos los objetos de la colección.

public void

String fieldName,
byte value
)

Establece el valor byte del campo dado en todos los objetos de la colección.

public void

String fieldName,
Date value
)

Establece el valor Date del campo dado en todos los objetos de la colección.

public void

String fieldName,
Decimal128 value
)

Establece el valor Decimal128 del campo dado en todos los objetos de la colección.

public void

String fieldName,
double value
)

Establece el valor double del campo dado en todos los objetos de la colección.

public void

String fieldName,
float value
)

Establece el valor float del campo dado en todos los objetos de la colección.

public void

String fieldName,
int value
)

Establece el valor int del campo dado en todos los objetos de la colección.

public void

setList <T >(
)

Reemplaza la RealmList en el campo dado en todos los objetos de esta colección.

public void

String fieldName,
long value
)

Establece el valor long del campo dado en todos los objetos de la colección.

public void

String fieldName
)

Establece el valor en null para el campo dado en todos los objetos de la colección.

public void

String fieldName,
)

Establece una referencia a otro objeto en el campo dado en todos los objetos de la colección.

public void

String fieldName,
ObjectId value
)

Establece el valor ObjectId del campo dado en todos los objetos de la colección.

public void

String fieldName,
short value
)

Establece el valor short del campo dado en todos los objetos de la colección.

public void

String fieldName,
String value
)

Establece el valor String del campo dado en todos los objetos de la colección.

public void

String fieldName,
UUID value
)

Establece el valor UUID del campo dado en todos los objetos de la colección.

public void

String fieldName,
Object value
)

Actualiza el campo dado por fieldName en todos los objetos dentro del resultado de la consulta.

String fieldName1,
Sort sortOrder1,
String fieldName2,
Sort sortOrder2
)

Ordena una colección en función de los campos y órdenes de clasificación enviados.

Devuelve una RealmQuery, que se puede utilizar para consultar objetos específicos de esta colección.

  • Métodos heredados de la clase getClasshashCodeequalsclonetoStringnotifynotifyAllwaitwaitwaitjava.lang.Object:,,,,,,,,,, finalize

  • Métodos heredados de la clase iteratorsizeisEmptycontainstoArraytoArrayaddremovecontainsAlladdAllremoveAllretainAllclearjava.util.AbstractCollection:,,,,,,,,,,,,, toString

  • Métodos heredados de la clase addgetsetaddremoveindexOflastIndexOfclearaddAlliteratorlistIteratorlistIteratorsubListequalshashCodejava.util.AbstractList:,,,,,,,,,,,,,,, removeRange

  • Methods inherited from class io.realm.OrderedRealmCollectionImpl: isValid , isManaged , contains , get , first , first , last , last , deleteFromRealm , deleteAllFromRealm , iterator , listIterator , listIterator , sort , sort , sort , sort , size , min , minDate , max , maxDate , sum , average , remove , remove , removeAll , set , retainAll , deleteLastFromRealm , deleteFirstFromRealm , clear , add , add , addAll , addAll , createSnapshot , getRealm , getCollectionOperator

Agrega un detector de cambios a este RealmResults.

Registrar un detector de cambios no impedirá que los resultados de RealmResults subyacentes se recolecten como basura. Si se realiza la recolección de basura de RealmResults, el detector de cambios dejará de activarse. Para evitar esto, mantenga una referencia fuerte durante el tiempo que sea necesario, por ejemplo, en una variable de clase.

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
}
});
}
}

Parámetros

  • listener - el oyente de cambios que debe ser notificado.

Lanzamientos

Agrega un detector de cambios a este RealmResults.

Registrar un detector de cambios no impedirá que los resultados de RealmResults subyacentes se recolecten como basura. Si se realiza la recolección de basura de RealmResults, el detector de cambios dejará de activarse. Para evitar esto, mantenga una referencia fuerte durante el tiempo que sea necesario, por ejemplo, en una variable de clase.

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
}
});
}
}

Parámetros

  • listener - el oyente de cambios que debe ser notificado.

Lanzamientos

public <any> asChangesetObservable ()

Devuelve un Observable Rx que monitoriza los cambios en este RealmResults. Emitirá el RealmResults actual al suscribirse. Por cada actualización del RealmResult, se enviará un par compuesto por el RealmResults y el OrderedCollectionChangeSet. El conjunto de cambios será null la primera vez que se emita un RealmResults.

RealmResults se emitirá continuamente a medida que se actualicen RealmResults: onComplete nunca se llamará.

Los elementos emitidos desde los Observables de Realm están congelados (ver freeze()). Esto significa que son inmutables y se pueden leer en cualquier hilo.

Los observables de Realm siempre emiten elementos desde el hilo que contiene el Realm activo. Esto significa que, si necesita realizar más procesamiento, se recomienda observar los valores en un programador de cómputo:

realm.where(Foo.class).findAllAsync().asChangesetObservable()
.observeOn(Schedulers.computation())
.map((rxResults, changes) -> doExpensiveWork(rxResults, changes))
.observeOn(AndroidSchedulers.mainThread())
.subscribe( ... );

Devuelve

Observable de RxJava que solo llama a onNext . Nunca llamará a onComplete ni a OnError .

Lanzamientos

public <any> asFlowable ()

Devuelve un Rx Flowable que monitoriza los cambios en este RealmResults. Emitirá el RealmResults actual al suscribirse. RealmResults se emitirá continuamente a medida que se actualicen los RealmResults; nunca se llamará a onComplete.

Los elementos emitidos desde Realm Flowables están congelados (ver freeze()). Esto significa que son inmutables y se pueden leer en cualquier hilo.

Los flujos de Realm siempre emiten elementos desde el hilo que contiene los resultados de Realm en tiempo real. Esto significa que, si necesita realizar un procesamiento adicional, se recomienda observar los valores en un programador de cálculos:

realm.where(Foo.class).findAllAsync().asFlowable()
.observeOn(Schedulers.computation())
.map(rxResults -> doExpensiveWork(rxResults))
.observeOn(AndroidSchedulers.mainThread())
.subscribe( ... );

Si desea que asFlowable() deje de emitir elementos, puede indicarle a RxJava que solo emita el primer elemento utilizando el operador first():

realm.where(Foo.class).findAllAsync().asFlowable()
.filter(results -> results.isLoaded())
.first()
.subscribe( ... ) // You only get the results once

Devuelve

Observable de RxJava que solo llama a onNext . Nunca llamará a onComplete ni a OnError .

Lanzamientos

public String asJSON ()

Devuelve una representación JSON de las coincidencias de una RealmQuery. Los ciclos se devolverán como índices de fila. Este método auxiliar se utiliza para inspeccionar datos o, para fines de depuración, podría extraer una cadena larga, lo que podría causar un error de memoria insuficiente.

Devuelve

Representación de cadena de una matriz JSON que contiene entradas del RealmQuery resultante.

public boolean isFrozen ()

public boolean isLoaded ()

Devuelve false si los resultados aún no se han cargado, true si ya están cargados.

Devuelve

true si la consulta se ha completado y los datos están disponibles, false si la consulta aún se está ejecutando en segundo plano.

public boolean load ()

Bloquea una consulta asincrónica. Esto también activará cualquier RealmChangeListener registrado al completarse la consulta.

Devuelve

true si completó exitosamente la consulta, false en caso contrario.

Elimina todos los escuchas de cambios definidos por el usuario.

Lanzamientos

Elimina el detector de cambios especificado.

Parámetros

  • listener - el detector de cambios que se eliminará.

Lanzamientos

Elimina el detector de cambios especificado.

Parámetros

  • listener - el detector de cambios que se eliminará.

Lanzamientos

public void setBlob (
String fieldName,
byte[] value
)

Establece el valor binario del campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • value - nuevo valor para el campo.

Lanzamientos

public void setBoolean (
String fieldName,
boolean value
)

Establece el valor boolean del campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • value - nuevo valor para el campo.

Lanzamientos

public void setByte (
String fieldName,
byte value
)

Establece el valor byte del campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • value - nuevo valor para el campo.

Lanzamientos

public void setDate (
String fieldName,
Date value
)

Establece el valor Date del campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • value - nuevo valor para el campo.

Lanzamientos

public void setDecimal128 (
String fieldName,
Decimal128 value
)

Establece el valor Decimal128 del campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • value - nuevo valor para el campo.

Lanzamientos

public void setDouble (
String fieldName,
double value
)

Establece el valor double del campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • value - nuevo valor para el campo.

Lanzamientos

public void setFloat (
String fieldName,
float value
)

Establece el valor float del campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • value - nuevo valor para el campo.

Lanzamientos

public void setInt (
String fieldName,
int value
)

Establece el valor int del campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • value - nuevo valor para el campo.

Lanzamientos

public void setList <T >(
)

Reemplaza la RealmList en el campo dado en todos los objetos de esta colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • list - nuevo valor para el campo.

Lanzamientos

  • IllegalArgumentException: si el nombre del campo no existe, no es un campo RealmList, si los objetos en la lista no se administran o el tipo de los objetos en la lista es incorrecto.

public void setLong (
String fieldName,
long value
)

Establece el valor long del campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • value - nuevo valor para el campo.

Lanzamientos

public void setNull (
String fieldName
)

Establece el valor en null para el campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

Lanzamientos

public void setObject (
String fieldName,
)

Establece una referencia a otro objeto en el campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • value - nuevo objeto referenciado por este campo.

Lanzamientos

  • IllegalArgumentException: si el nombre del campo no existe, es una propiedad de clave principal o no es un campo de referencia de objeto.

public void setObjectId (
String fieldName,
ObjectId value
)

Establece el valor ObjectId del campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • value - nuevo valor para el campo.

Lanzamientos

public void setShort (
String fieldName,
short value
)

Establece el valor short del campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • value - nuevo valor para el campo.

Lanzamientos

public void setString (
String fieldName,
String value
)

Establece el valor String del campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • value - nuevo valor para el campo.

Lanzamientos

public void setUUID (
String fieldName,
UUID value
)

Establece el valor UUID del campo dado en todos los objetos de la colección.

Parámetros

  • fieldName - nombre del campo a actualizar.

  • value - nuevo valor para el campo.

Lanzamientos

public void setValue (
String fieldName,
Object value
)

Actualiza el campo dado por fieldName en todos los objetos dentro del resultado de la consulta.

Este método intentará automáticamente convertir números y booleanos que se entregan como String a su tipo correspondiente. Por ejemplo, "10" se convertirá en 10 si el tipo del campo es RealmFieldType.INTEGER .

El uso de establecedores tipificados como setInt(String, int) será más rápido que usar este método.

Parámetros

  • fieldName - campo a actualizar

  • value - valor a actualizar.

Lanzamientos

  • IllegalArgumentException: si no se pudo encontrar el campo, no se pudo actualizar o el argumento no coincidió con el tipo de campo o no se pudo convertir para que coincidiera con el tipo de campo subyacente.

String fieldName1,
Sort sortOrder1,
String fieldName2,
Sort sortOrder2
)

Ordena una colección en función de los campos y órdenes de clasificación enviados.

Devuelve

Se creará y devolverá un nuevo RealmResults ordenado. La colección original permanece intacta.

Anulaciones

sort en la clase OrderedRealmCollectionImpl

public RealmQuery where ()

Devuelve una RealmQuery, que se puede utilizar para consultar objetos específicos de esta colección.

Devuelve

un objeto RealmQuery.

Volver

Consulta de reino