Docs Menu
Docs Home
/ /
io.realm.mongodb

Aplicación de clase

java.lang.Object
io.realm.mongodb.App

Una aplicación es el principal punto de entrada del lado del cliente para interactuar con una aplicación MongoDB Realm. La aplicación se puede utilizar para:

Para crear una aplicación vinculada con una aplicación Realm remota, inicialice Realm y configure la aplicación como se muestra a continuación:

class MyApplication extends Application {
App APP; // The App instance should be a global singleton
@Override
public void onCreate() {
super.onCreate();
Realm.init(this);
AppConfiguration appConfiguration = new AppConfiguration.Builder(BuildConfig.MONGODB_REALM_APP_ID)
.appName(BuildConfig.VERSION_NAME)
.appVersion(Integer.toString(BuildConfig.VERSION_CODE))
.build();
APP = new App(appConfiguration);
}
}

Tras configurar la aplicación, puede empezar a gestionar usuarios, configurar dominios sincronizados, invocar funciones remotas de dominios y acceder a datos remotos mediante colecciones de Mongo. Los ejemplos a continuación muestran las API sincronizadas que no se pueden usar desde el hilo principal. Para ver las API asíncronas equivalentes, consulte https://github.com/realm/realm-java/tree/main/examples/mongoDbRealmExample.

Para registrar un nuevo usuario y/o iniciar sesión con un usuario existente haga lo que se muestra a continuación:

// Register new user
APP.getEmailPassword().registerUser(username, password);
// Login with existing user
User user = APP.login(Credentials.emailPassword(username, password))

Con un usuario autorizado puedes sincronizar datos entre el dispositivo local y la aplicación Realm remota abriendo un Realm con io.realm.mongodb.sync.SyncConfiguration como se indica a continuación:

SyncConfiguration syncConfiguration = new SyncConfiguration.Builder(user, "<partition value>")
.build();
Realm instance = Realm.getInstance(syncConfiguration);
SyncSession session = APP.getSync().getSession(syncConfiguration);
instance.executeTransaction(realm -> {
realm.insert(...);
});
session.uploadAllLocalChanges();
instance.close();

Puede llamar a funciones de Realm remotas como se muestra a continuación:

Functions functions = user.getFunctions();
Integer sum = functions.callFunction("sum", Arrays.asList(1, 2, 3, 4), Integer.class);

Y acceder a las colecciones desde la aplicación Realm remota como se muestra aquí:

MongoClient client = user.getMongoClient(SERVICE_NAME)
MongoDatabase database = client.getDatabase(DATABASE_NAME)
MongoCollection<DocumentT> collection = database.getCollection(COLLECTION_NAME);
Long count = collection.count().get()

Tip

Constructor y descripción
App (
String appId
)

Constructor para crear una aplicación según la AppConfiguration indicada.

Modificador y Tipo
Clase y descripción

public static

public static interface

Modificador y Tipo
Campo y descripción

EJECUTOR DE GRUPO DE REDES

Grupo de subprocesos utilizado al realizar solicitudes de red contra MongoDB Realm. Este grupo solo se expone para fines de prueba y reemplazarlo mientras la cola no esté vacía dará como resultado un comportamiento indefinido.

Modificador y Tipo
Método y descripción

vacío público

Establece un detector de autenticación global que recibirá notificaciones sobre eventos de usuario, como inicio y cierre de sesión.

Devuelve todos los usuarios conocidos que son User.State.LOGGED_IN o User.State.LOGGED_OUT.

Devuelve el usuario actual que ha iniciado sesión y aún es válido.

booleanopúblico

Dos aplicaciones se consideran iguales y compartirán su estado subyacente si ambas hacen referencia a la misma AppConfiguration.getAppId().

Devuelve el objeto de configuración para esta aplicación.

Correo electrónicopúblico ContraseñaAutenticación

Devuelve un contenedor para interactuar con la funcionalidad relacionada con los usuarios creados o que iniciaron sesión mediante el proveedor de identidad Credentials.Provider.EMAIL_PASSWORD.

User user,
CodecRegistry codecRegistry
)

Devuelve un administrador de funciones para invocar las funciones de la aplicación Realm con un registro de códec personalizado para codificar y decodificar argumentos y resultados.

Devuelve un administrador de funciones para invocar las funciones de Realm de la aplicación Realm.

Devuelve la instancia de sincronización que administra las sesiones de sincronización de Realm en curso y sincroniza los datos entre la aplicación de Realm local y la aplicación de Realm remota asociada con esta aplicación.

entero público

Credentials credentials
)

Inicia sesión como usuario con las credenciales proporcionadas asociadas a un proveedor de autenticación.

Tarea asincrónica dedominio público

Inicia sesión como usuario con las credenciales proporcionadas asociadas a un proveedor de autenticación.

vacío público

Elimina el escucha de autenticación global proporcionado.

Elimina las credenciales de un usuario de este dispositivo.

vacío protegido

OsJavaNetworkTransport transport
)

Expuesto para pruebas.

Cambiar el usuario actual.

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

Grupo de subprocesos utilizado al realizar solicitudes de red contra MongoDB Realm. Este grupo solo se expone para fines de prueba y reemplazarlo mientras la cola no esté vacía dará como resultado un comportamiento indefinido.

public App (
String appId
)
public App (
)

Constructor para crear una aplicación según la AppConfiguration indicada.

Parámetros

  • config - La configuración que se utilizará para esta instancia de la aplicación.

Establece un oyente de autenticación global que recibirá notificaciones sobre eventos de usuario, como inicio y cierre de sesión. Las devoluciones de llamadas a los oyentes de autenticación se realizarán en el hilo de la interfaz de usuario.

Parámetros

  • listener - oyente para registrarse.

Lanzamientos

public Map allUsers ()

Devuelve todos los usuarios conocidos que son User.State.LOGGED_IN o User.State.LOGGED_OUT.

Sólo se devolverán los usuarios que en algún momento iniciaron sesión en este dispositivo.

Devuelve

un mapa de identificadores de usuarios y usuarios conocidos localmente.

public User currentUser ()

Devuelve el usuario actual que ha iniciado sesión y aún es válido. Un usuario se invalida cuando cierra sesión o cuando su token de actualización caduca o se revoca.

Si dos o más usuarios han iniciado sesión, este método devuelve el último usuario válido.

Devuelve

Usuario actual que ha iniciado sesión y aún es válido. null si ningún usuario ha iniciado sesión o el usuario ha expirado.

public boolean equals (
)

Dos aplicaciones se consideran iguales y compartirán su estado subyacente si ambas hacen referencia a la misma AppConfiguration.getAppId().

Anulaciones

equals en la clase Objeto

Devuelve el objeto de configuración para esta aplicación.

Devuelve

La configuración de esta aplicación.

Devuelve un contenedor para interactuar con la funcionalidad relacionada con los usuarios creados o que iniciaron sesión mediante el proveedor de identidad Credentials.Provider.EMAIL_PASSWORD.

Devuelve

contenedor para interactuar con el proveedor de identidad Credentials.Provider.EMAIL_PASSWORD.

User user,
CodecRegistry codecRegistry
)

Devuelve un administrador de funciones para invocar las funciones de la aplicación Realm con un registro de códec personalizado para codificar y decodificar argumentos y resultados.

Devuelve un Administrador de funciones para invocar las funciones de Realm de la aplicación Realm. Esto usará el registro de códecs por defecto de la aplicación para codificar y decodificar argumentos y resultados.

public Sync getSync ()

Devuelve la instancia de sincronización que administra las sesiones de sincronización de Realm en curso y sincroniza los datos entre la aplicación de Realm local y la aplicación de Realm remota asociada con esta aplicación.

Devuelve

la instancia de sincronización asociada con esta aplicación.

public int hashCode ()

Anulaciones

hashCode en la clase Objeto

public User login (
Credentials credentials
)

Inicia sesión como un usuario con las credenciales proporcionadas asociadas a un proveedor de autenticación. El usuario que inicia sesión se convierte en el usuario actual. Otras funciones de la aplicación actúan en nombre del usuario actual.

Si ya existe un usuario activo, ese usuario sigue ha iniciado sesión y se puede encontrar en la lista devuelta por allUsers() .

También es posible cambiar entre qué usuario se considera el usuario actual utilizando switchUser(User).

Parámetros

  • credentials - las credenciales que representan el tipo de inicio de sesión.

Devuelve

un usuario que representa al usuario conectado.

Lanzamientos

Inicia sesión como un usuario con las credenciales proporcionadas asociadas a un proveedor de autenticación. El usuario que inicia sesión se convierte en el usuario actual. Otras funciones de la aplicación actúan en nombre del usuario actual.

Si ya existe un usuario activo, ese usuario sigue ha iniciado sesión y se puede encontrar en la lista devuelta por allUsers() .

También es posible cambiar entre qué usuario se considera el usuario actual utilizando switchUser(User).

Parámetros

  • credentials - las credenciales que representan el tipo de inicio de sesión.

  • callback - Devolución de llamada cuando el inicio de sesión se completa o falla. La devolución de llamada siempre se realizará en el mismo hilo en el que se invoque este método.

Lanzamientos

Elimina el escucha de autenticación global proporcionado.

Parámetros

  • listener - oyente a eliminar.

public User removeUser (
User user
)

Elimina las credenciales de un usuario de este dispositivo. Si el usuario tenía la sesión iniciada, se cerrará como parte del proceso. Este cambio es solo local y no afecta el estado del usuario en el servidor.

Parámetros

  • user - eliminar

Devuelve

usuario que fue eliminado.

Lanzamientos

  • AppException: si se llama desde el hilo de UI o si el usuario inició sesión, pero no pudo cerrarla.

protected void setNetworkTransport (
OsJavaNetworkTransport transport
)

Expuesto para pruebas. Intercambie el transporte de red configurado actualmente con el proporcionado. Esto solo debe hacerse si no hay solicitudes de red en ejecución.

public User switchUser (
User user
)

Cambiar el usuario actual. El usuario actual es el usuario devuelto por currentUser().

Parámetros

  • user - el nuevo usuario actual.

Lanzamientos

Volver

io.realm.mongodb